git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Do not allow empty case statement
dfa1ce4Konstantin Zudov
examples/failing/EmptyCase.pursnew file+4
@@ -0,0 +1,4 @@
1+-- @shouldFailWith ErrorParsingModule
2+module Main where
3+
4+error err = case err of \_ -> 1
src/Language/PureScript/Parser/Declarations.hs+1−1
@@ -366,7 +366,7 @@ parseConstructor = Constructor <$> C.parseQualified C.properName
366
366
367parseCase :: TokenParser Expr
367parseCase :: TokenParser Expr
368parseCase = Case <$> P.between (P.try (reserved "case")) (C.indented *> reserved "of") (return <$> parseValue)
368parseCase = Case <$> P.between (P.try (reserved "case")) (C.indented *> reserved "of") (return <$> parseValue)
369− <*> (C.indented *> C.mark (P.many (C.same *> C.mark parseCaseAlternative)))
369+ <*> (C.indented *> C.mark (P.many1 (C.same *> C.mark parseCaseAlternative)))
370
370
371parseCaseAlternative :: TokenParser CaseAlternative
371parseCaseAlternative :: TokenParser CaseAlternative
372parseCaseAlternative = CaseAlternative <$> (return <$> parseBinder)
372parseCaseAlternative = CaseAlternative <$> (return <$> parseBinder)