Do not allow empty case statement
Fixes #1435
commitdfa1ce476b39b3cea6e10c76ede50dec8ad28d5b
authorKonstantin Zudov <konstantin@anche.no>
dateSat 29 Aug 2015, 08:55 (11 years ago)
parentdd260bd
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
366366
367367parseCase :: TokenParser Expr
368368parseCase = 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)))
370370
371371parseCaseAlternative :: TokenParser CaseAlternative
372372parseCaseAlternative = CaseAlternative <$> (return <$> parseBinder)