Merge pull request #1437 from zudov/empty-case
Do not allow empty case statement
commitaccfeb8d0ac296ed24bfb0a16b80cb5ad2cb1cbb
authorGary Burgess <gary.burgess@gmail.com>
dateSun 30 Aug 2015, 08:57 (11 years ago)
parentdd260bddfa1ce4
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)