diff --git a/compiler/GHC/Parser.y b/compiler/GHC/Parser.y index e4b6661b0220d3ed640b191c095a925e1dfc66f5..7ec7637d1f7ebc52dad794fe785a9fb43f7791d8 100644 --- a/compiler/GHC/Parser.y +++ b/compiler/GHC/Parser.y @@ -2900,10 +2900,10 @@ aexp :: { ECP } [mj AnnLam $1] } | '\\' 'lcase' altslist(pats1) { ECP $ $3 >>= \ $3 -> - mkHsLamPV (comb2 $1 $>) LamCase $3 [mj AnnLam $1,mj AnnCase $2] } + mkHsLamPV (comb3 $1 $2 $>) LamCase $3 [mj AnnLam $1,mj AnnCase $2] } | '\\' 'lcases' altslist(argpats) { ECP $ $3 >>= \ $3 -> - mkHsLamPV (comb2 $1 $>) LamCases $3 [mj AnnLam $1,mj AnnCases $2] } + mkHsLamPV (comb3 $1 $2 $>) LamCases $3 [mj AnnLam $1,mj AnnCases $2] } | 'if' exp optSemi 'then' exp optSemi 'else' exp {% runPV (unECP $2) >>= \ ($2 :: LHsExpr GhcPs) -> return $ ECP $ diff --git a/testsuite/tests/printer/Makefile b/testsuite/tests/printer/Makefile index a3eec1754735a8703767b591ff5f81e773bf571a..9d8c735308c3d82e33f45cbf84d78fbe885154d3 100644 --- a/testsuite/tests/printer/Makefile +++ b/testsuite/tests/printer/Makefile @@ -837,6 +837,11 @@ MatchPatComments: $(CHECK_PPR) $(LIBDIR) MatchPatComments.hs $(CHECK_EXACT) $(LIBDIR) MatchPatComments.hs +.PHONY: Test24748 +Test24748: + $(CHECK_PPR) $(LIBDIR) Test24748.hs + $(CHECK_EXACT) $(LIBDIR) Test24748.hs + .PHONY: DataDeclShort DataDeclShort: $(CHECK_PPR) $(LIBDIR) DataDeclShort.hs diff --git a/testsuite/tests/printer/Test24748.hs b/testsuite/tests/printer/Test24748.hs new file mode 100644 index 0000000000000000000000000000000000000000..a4bb3c297d44c3bc9ce29b20219b19a43c4b40d7 --- /dev/null +++ b/testsuite/tests/printer/Test24748.hs @@ -0,0 +1,8 @@ +{-# LANGUAGE LambdaCase #-} +module Test24748 where + +instance SDecide Nat where + SZero %~ (SSucc _) = Disproved (\case) + +foo = (\case) +bar = (\cases) diff --git a/testsuite/tests/printer/all.T b/testsuite/tests/printer/all.T index bd546b0ae109a0cd174de1a8eee5aab63bdf3078..da192356745b0ad9321ffdff7f1a6f77477b6f53 100644 --- a/testsuite/tests/printer/all.T +++ b/testsuite/tests/printer/all.T @@ -200,4 +200,5 @@ test('Test24533', [ignore_stderr, req_ppr_deps], makefile_test, ['Test24533']) test('PprLetIn', [ignore_stderr, req_ppr_deps], makefile_test, ['PprLetIn']) test('CaseAltComments', [ignore_stderr, req_ppr_deps], makefile_test, ['CaseAltComments']) test('MatchPatComments', [ignore_stderr, req_ppr_deps], makefile_test, ['MatchPatComments']) +test('Test24748', [ignore_stderr, req_ppr_deps], makefile_test, ['Test24748']) test('DataDeclShort', [ignore_stderr, req_ppr_deps], makefile_test, ['DataDeclShort'])