git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
If blocks without else blocks never result in unreachable code
1bb682bPhil Freeman
src/PureScript/TypeChecker/Types.hs+2−2
@@ -500,8 +500,8 @@ typeConstraintsForStatement m mass ret (Return val) = do
500typeConstraintsForIfStatement :: M.Map Ident Int -> M.Map Ident Int -> Int -> IfStatement -> Check ([TypeConstraint], Bool)
500typeConstraintsForIfStatement :: M.Map Ident Int -> M.Map Ident Int -> Int -> IfStatement -> Check ([TypeConstraint], Bool)
501typeConstraintsForIfStatement m mass ret (IfStatement val thens Nothing) = do
501typeConstraintsForIfStatement m mass ret (IfStatement val thens Nothing) = do
502 (cs1, n1) <- typeConstraints m val
502 (cs1, n1) <- typeConstraints m val
503− (cs2, allCodePathsReturn, _) <- typeConstraintsForBlock m mass ret thens
503+ (cs2, _, _) <- typeConstraintsForBlock m mass ret thens
504− return ((TypeConstraint n1 Boolean (ValueOrigin val)) : cs1 ++ cs2, allCodePathsReturn)
504+ return ((TypeConstraint n1 Boolean (ValueOrigin val)) : cs1 ++ cs2, False)
505typeConstraintsForIfStatement m mass ret (IfStatement val thens (Just elses)) = do
505typeConstraintsForIfStatement m mass ret (IfStatement val thens (Just elses)) = do
506 (cs1, n1) <- typeConstraints m val
506 (cs1, n1) <- typeConstraints m val
507 (cs2, allCodePathsReturn1, _) <- typeConstraintsForBlock m mass ret thens
507 (cs2, allCodePathsReturn1, _) <- typeConstraintsForBlock m mass ret thens