git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
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
2 files changed+5−1
examples/failing/EmptyCase.purs+4 src/Language/PureScript/Parser/Declarations.hs+1−1
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)