From bf3d4db0894233ec72f092a4a34bce9ed4ff4e21 Mon Sep 17 00:00:00 2001 From: Alan Zimmerman <alan.zimm@gmail.com> Date: Wed, 1 May 2024 21:58:46 +0100 Subject: [PATCH] EPA: Preserve comments for pattern synonym sig Closes #24749 --- compiler/GHC/Parser.y | 2 +- testsuite/tests/printer/Makefile | 5 +++++ testsuite/tests/printer/Test24749.hs | 11 +++++++++++ testsuite/tests/printer/all.T | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 testsuite/tests/printer/Test24749.hs diff --git a/compiler/GHC/Parser.y b/compiler/GHC/Parser.y index 7ec7637d1f7e..050c696a0a47 100644 --- a/compiler/GHC/Parser.y +++ b/compiler/GHC/Parser.y @@ -2653,7 +2653,7 @@ sigdecl :: { LHsDecl GhcPs } (Fixity fixText fixPrec (unLoc $1))))) }} - | pattern_synonym_sig { sL1a $1 . SigD noExtField . unLoc $ $1 } + | pattern_synonym_sig { L (getLoc $1) . SigD noExtField . unLoc $ $1 } | '{-# COMPLETE' qcon_list opt_tyconsig '#-}' {% let (dcolon, tc) = $3 diff --git a/testsuite/tests/printer/Makefile b/testsuite/tests/printer/Makefile index 9d8c735308c3..8b9e56cbe6d6 100644 --- a/testsuite/tests/printer/Makefile +++ b/testsuite/tests/printer/Makefile @@ -846,3 +846,8 @@ Test24748: DataDeclShort: $(CHECK_PPR) $(LIBDIR) DataDeclShort.hs $(CHECK_EXACT) $(LIBDIR) DataDeclShort.hs + +.PHONY: Test24749 +Test24749: + $(CHECK_PPR) $(LIBDIR) Test24749.hs + $(CHECK_EXACT) $(LIBDIR) Test24749.hs diff --git a/testsuite/tests/printer/Test24749.hs b/testsuite/tests/printer/Test24749.hs new file mode 100644 index 000000000000..729da647dcf0 --- /dev/null +++ b/testsuite/tests/printer/Test24749.hs @@ -0,0 +1,11 @@ +{-# LANGUAGE PatternSynonyms #-} +module Test24749 where + +-- c0 +pattern (:|) :: + -- c1 + a -> + -- c2 + a -> + -- c3 + Domino a diff --git a/testsuite/tests/printer/all.T b/testsuite/tests/printer/all.T index da192356745b..ce076aaa8744 100644 --- a/testsuite/tests/printer/all.T +++ b/testsuite/tests/printer/all.T @@ -202,3 +202,4 @@ test('CaseAltComments', [ignore_stderr, req_ppr_deps], makefile_test, ['CaseAltC 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']) +test('Test24749', [ignore_stderr, req_ppr_deps], makefile_test, ['Test24749']) -- GitLab