summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorAlan Zimmerman <alan.zimm@gmail.com>2021-10-11 23:05:08 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-10-14 14:34:07 -0400
commit8b7f5424c67b5ec005e061db87d30e124cf7234d (patch)
tree49b7c66079e415d6151d7edd2c180169a26e991a /testsuite
parentf450e9481eafa3a00c648c81154a9a8be2da7650 (diff)
downloadhaskell-8b7f5424c67b5ec005e061db87d30e124cf7234d.tar.gz
EPA: Preserve semicolon order in annotations
Ensure the AddSemiAnn items appear in increasing order, so that if they are converted to delta format they are still in the correct order. Prior to this the exact printer sorted by Span, which is meaningless for EpaDelta locations.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/parser/should_compile/DumpSemis.hs45
-rw-r--r--testsuite/tests/parser/should_compile/DumpSemis.stderr2072
-rw-r--r--testsuite/tests/parser/should_compile/T20452.stderr8
-rw-r--r--testsuite/tests/parser/should_compile/all.T2
4 files changed, 2123 insertions, 4 deletions
diff --git a/testsuite/tests/parser/should_compile/DumpSemis.hs b/testsuite/tests/parser/should_compile/DumpSemis.hs
new file mode 100644
index 0000000000..9f2f9629d8
--- /dev/null
+++ b/testsuite/tests/parser/should_compile/DumpSemis.hs
@@ -0,0 +1,45 @@
+module DumpSemis where
+
+-- Make sure we get all the semicolons in statements
+;;;; ;;
+import Data.List
+; ; ;
+import Data.Kind
+ ; ;;
+foo :: IO ()
+foo = do
+ do { ;;;; a }
+ a
+; ;;
+bar :: IO ()
+bar = do
+ { ; ;
+ a ;;
+ b
+ }
+ ; ;; ;
+baz :: IO ()
+baz = do { ;; s ; s ; ; s ;; }
+;
+a = undefined
+b = undefined
+s = undefined
+;
+class LiftingMonad2 ((trans :: Type)) where
+ proof :: trans -> Int
+;
+f :: ((Eq a, Ord a)) => a -> a
+f x = x
+;
+ ;;x=let{;;;;;y=2;;z=3;;;;}in y;
+;
+fot x =
+ case x of
+ { ;;; -- leading
+ 0 -> 'a'; -- case 0
+ 1 -> 'b' -- case 1
+ ; 2 -> 'c' ; -- case 2
+ ; 3 -> 'd' -- case 3
+ ;;; -- case 4
+ }
+;
diff --git a/testsuite/tests/parser/should_compile/DumpSemis.stderr b/testsuite/tests/parser/should_compile/DumpSemis.stderr
new file mode 100644
index 0000000000..05465b8a75
--- /dev/null
+++ b/testsuite/tests/parser/should_compile/DumpSemis.stderr
@@ -0,0 +1,2072 @@
+
+==================== Parser AST ====================
+
+(L
+ { DumpSemis.hs:1:1 }
+ (HsModule
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:1:1 }
+ (UnchangedAnchor))
+ (AnnsModule
+ [(AddEpAnn AnnModule (EpaSpan { DumpSemis.hs:1:1-6 }))
+ ,(AddEpAnn AnnWhere (EpaSpan { DumpSemis.hs:1:18-22 }))]
+ (AnnList
+ (Nothing)
+ (Nothing)
+ (Nothing)
+ []
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:4:1 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:4:2 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:4:3 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:4:4 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:4:7 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:4:8 }))]))
+ (EpaCommentsBalanced
+ []
+ [(L
+ (Anchor
+ { DumpSemis.hs:46:1 }
+ (UnchangedAnchor))
+ (EpaComment
+ (EpaEofComment)
+ { DumpSemis.hs:46:1 }))]))
+ (VirtualBraces
+ (1))
+ (Just
+ (L
+ { DumpSemis.hs:1:8-16 }
+ {ModuleName: DumpSemis}))
+ (Nothing)
+ [(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:5:1-16 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:6:1 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:6:3 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:6:5 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:5:1-16 })
+ (ImportDecl
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:5:1-6 }
+ (UnchangedAnchor))
+ (EpAnnImportDecl
+ (EpaSpan { DumpSemis.hs:5:1-6 })
+ (Nothing)
+ (Nothing)
+ (Nothing)
+ (Nothing)
+ (Nothing))
+ (EpaComments
+ []))
+ (NoSourceText)
+ (L
+ { DumpSemis.hs:5:8-16 }
+ {ModuleName: Data.List})
+ (Nothing)
+ (NotBoot)
+ (False)
+ (NotQualified)
+ (False)
+ (Nothing)
+ (Nothing)))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:7:1-16 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:8:4 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:8:6 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:8:7 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:7:1-16 })
+ (ImportDecl
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:7:1-6 }
+ (UnchangedAnchor))
+ (EpAnnImportDecl
+ (EpaSpan { DumpSemis.hs:7:1-6 })
+ (Nothing)
+ (Nothing)
+ (Nothing)
+ (Nothing)
+ (Nothing))
+ (EpaComments
+ []))
+ (NoSourceText)
+ (L
+ { DumpSemis.hs:7:8-16 }
+ {ModuleName: Data.Kind})
+ (Nothing)
+ (NotBoot)
+ (False)
+ (NotQualified)
+ (False)
+ (Nothing)
+ (Nothing)))]
+ [(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:9:1-12 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:9:1-12 })
+ (SigD
+ (NoExtField)
+ (TypeSig
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:9:1-3 }
+ (UnchangedAnchor))
+ (AnnSig
+ (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:9:5-6 }))
+ [])
+ (EpaComments
+ []))
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:1-3 })
+ (Unqual
+ {OccName: foo}))]
+ (HsWC
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:8-12 })
+ (HsSig
+ (NoExtField)
+ (HsOuterImplicit
+ (NoExtField))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:8-12 })
+ (HsAppTy
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:8-9 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:9:8-9 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:8-9 })
+ (Unqual
+ {OccName: IO}))))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:11-12 })
+ (HsTupleTy
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:9:11 }
+ (UnchangedAnchor))
+ (AnnParen
+ (AnnParens)
+ (EpaSpan { DumpSemis.hs:9:11 })
+ (EpaSpan { DumpSemis.hs:9:12 }))
+ (EpaComments
+ []))
+ (HsBoxedOrConstraintTuple)
+ []))))))))))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:(10,1)-(12,3) }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:13:1 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:13:3 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:13:4 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:(10,1)-(12,3) })
+ (ValD
+ (NoExtField)
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:10:1-3 })
+ (Unqual
+ {OccName: foo}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(10,1)-(12,3) })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(10,1)-(12,3) })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(10,1)-(12,3) }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:10:1-3 })
+ (Unqual
+ {OccName: foo}))
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:(10,5)-(12,3) }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(10,5)-(12,3) }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:10:5 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(10,7)-(12,3) })
+ (HsDo
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(10,7)-(12,3) }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:(11,3)-(12,3) }
+ (UnchangedAnchor)))
+ (Nothing)
+ (Nothing)
+ [(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:10:7-8 }))]
+ [])
+ (EpaComments
+ []))
+ (DoExpr
+ (Nothing))
+ (L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:(11,3)-(12,3) }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:(11,3)-(12,3) }
+ (UnchangedAnchor)))
+ (Nothing)
+ (Nothing)
+ []
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:(11,3)-(12,3) })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:3-15 })
+ (BodyStmt
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:3-15 })
+ (HsDo
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:11:3-15 }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:11:6-15 }
+ (UnchangedAnchor)))
+ (Nothing)
+ (Nothing)
+ [(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:11:3-4 }))]
+ [])
+ (EpaComments
+ []))
+ (DoExpr
+ (Nothing))
+ (L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:11:6-15 }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:11:8-13 }
+ (UnchangedAnchor)))
+ (Just
+ (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:11:6 })))
+ (Just
+ (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:11:15 })))
+ [(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:11:8 }))
+ ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:11:9 }))
+ ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:11:10 }))
+ ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:11:11 }))]
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:11:6-15 })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:13 })
+ (BodyStmt
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:13 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:13 })
+ (Unqual
+ {OccName: a}))))
+ (NoExtField)
+ (NoExtField)))])))
+ (NoExtField)
+ (NoExtField)))
+ ,(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:12:3 })
+ (BodyStmt
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:12:3 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:12:3 })
+ (Unqual
+ {OccName: a}))))
+ (NoExtField)
+ (NoExtField)))])))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ [])))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:14:1-12 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:14:1-12 })
+ (SigD
+ (NoExtField)
+ (TypeSig
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:14:1-3 }
+ (UnchangedAnchor))
+ (AnnSig
+ (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:14:5-6 }))
+ [])
+ (EpaComments
+ []))
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:1-3 })
+ (Unqual
+ {OccName: bar}))]
+ (HsWC
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:8-12 })
+ (HsSig
+ (NoExtField)
+ (HsOuterImplicit
+ (NoExtField))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:8-12 })
+ (HsAppTy
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:8-9 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:14:8-9 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:8-9 })
+ (Unqual
+ {OccName: IO}))))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:11-12 })
+ (HsTupleTy
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:14:11 }
+ (UnchangedAnchor))
+ (AnnParen
+ (AnnParens)
+ (EpaSpan { DumpSemis.hs:14:11 })
+ (EpaSpan { DumpSemis.hs:14:12 }))
+ (EpaComments
+ []))
+ (HsBoxedOrConstraintTuple)
+ []))))))))))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:(15,1)-(19,3) }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:20:2 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:20:4 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:20:5 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:20:8 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:(15,1)-(19,3) })
+ (ValD
+ (NoExtField)
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:15:1-3 })
+ (Unqual
+ {OccName: bar}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(15,1)-(19,3) })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(15,1)-(19,3) })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(15,1)-(19,3) }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:15:1-3 })
+ (Unqual
+ {OccName: bar}))
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:(15,5)-(19,3) }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(15,5)-(19,3) }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:15:5 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(15,7)-(19,3) })
+ (HsDo
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(15,7)-(19,3) }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:(16,3)-(19,3) }
+ (UnchangedAnchor)))
+ (Nothing)
+ (Nothing)
+ [(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:15:7-8 }))]
+ [])
+ (EpaComments
+ []))
+ (DoExpr
+ (Nothing))
+ (L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:(16,3)-(19,3) }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:(16,5)-(18,5) }
+ (UnchangedAnchor)))
+ (Just
+ (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:16:3 })))
+ (Just
+ (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:19:3 })))
+ [(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:16:5 }))
+ ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:16:8 }))]
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:(16,3)-(19,3) })
+ [(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:17:5 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:17:7 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:17:8 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:17:5 })
+ (BodyStmt
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:17:5 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:17:5 })
+ (Unqual
+ {OccName: a}))))
+ (NoExtField)
+ (NoExtField)))
+ ,(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:18:5 })
+ (BodyStmt
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:18:5 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:18:5 })
+ (Unqual
+ {OccName: b}))))
+ (NoExtField)
+ (NoExtField)))])))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ [])))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:21:1-12 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:21:1-12 })
+ (SigD
+ (NoExtField)
+ (TypeSig
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:21:1-3 }
+ (UnchangedAnchor))
+ (AnnSig
+ (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:21:5-6 }))
+ [])
+ (EpaComments
+ []))
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:1-3 })
+ (Unqual
+ {OccName: baz}))]
+ (HsWC
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:8-12 })
+ (HsSig
+ (NoExtField)
+ (HsOuterImplicit
+ (NoExtField))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:8-12 })
+ (HsAppTy
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:8-9 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:21:8-9 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:8-9 })
+ (Unqual
+ {OccName: IO}))))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:11-12 })
+ (HsTupleTy
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:21:11 }
+ (UnchangedAnchor))
+ (AnnParen
+ (AnnParens)
+ (EpaSpan { DumpSemis.hs:21:11 })
+ (EpaSpan { DumpSemis.hs:21:12 }))
+ (EpaComments
+ []))
+ (HsBoxedOrConstraintTuple)
+ []))))))))))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:22:1-30 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:23:1 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:22:1-30 })
+ (ValD
+ (NoExtField)
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:1-3 })
+ (Unqual
+ {OccName: baz}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:1-30 })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:1-30 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:22:1-30 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:1-3 })
+ (Unqual
+ {OccName: baz}))
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:22:5-30 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:22:5-30 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:22:5 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:7-30 })
+ (HsDo
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:22:7-30 }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:22:10-30 }
+ (UnchangedAnchor)))
+ (Nothing)
+ (Nothing)
+ [(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:22:7-8 }))]
+ [])
+ (EpaComments
+ []))
+ (DoExpr
+ (Nothing))
+ (L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:22:10-30 }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:22:12-25 }
+ (UnchangedAnchor)))
+ (Just
+ (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:22:10 })))
+ (Just
+ (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:22:30 })))
+ [(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:22:12 }))
+ ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:22:13 }))]
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:22:10-30 })
+ [(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:22:15 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:17 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:22:15 })
+ (BodyStmt
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:15 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:15 })
+ (Unqual
+ {OccName: s}))))
+ (NoExtField)
+ (NoExtField)))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:22:19 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:21 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:23 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:22:19 })
+ (BodyStmt
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:19 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:19 })
+ (Unqual
+ {OccName: s}))))
+ (NoExtField)
+ (NoExtField)))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:22:25 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:27 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:28 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:22:25 })
+ (BodyStmt
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:25 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:25 })
+ (Unqual
+ {OccName: s}))))
+ (NoExtField)
+ (NoExtField)))])))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ [])))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:24:1-13 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:24:1-13 })
+ (ValD
+ (NoExtField)
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:1 })
+ (Unqual
+ {OccName: a}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:1-13 })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:1-13 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:24:1-13 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:1 })
+ (Unqual
+ {OccName: a}))
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:24:3-13 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:24:3-13 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:24:3 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:5-13 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:5-13 })
+ (Unqual
+ {OccName: undefined}))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ [])))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:25:1-13 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:25:1-13 })
+ (ValD
+ (NoExtField)
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:1 })
+ (Unqual
+ {OccName: b}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:1-13 })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:1-13 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:25:1-13 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:1 })
+ (Unqual
+ {OccName: b}))
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:25:3-13 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:25:3-13 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:25:3 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:5-13 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:5-13 })
+ (Unqual
+ {OccName: undefined}))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ [])))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:26:1-13 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:27:1 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:26:1-13 })
+ (ValD
+ (NoExtField)
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:1 })
+ (Unqual
+ {OccName: s}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:1-13 })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:1-13 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:26:1-13 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:1 })
+ (Unqual
+ {OccName: s}))
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:26:3-13 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:26:3-13 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:26:3 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:5-13 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:5-13 })
+ (Unqual
+ {OccName: undefined}))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ [])))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:(28,1)-(29,23) }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:30:1 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:(28,1)-(29,23) })
+ (TyClD
+ (NoExtField)
+ (ClassDecl
+ ((,,)
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(28,1)-(29,23) }
+ (UnchangedAnchor))
+ [(AddEpAnn AnnClass (EpaSpan { DumpSemis.hs:28:1-5 }))
+ ,(AddEpAnn AnnWhere (EpaSpan { DumpSemis.hs:28:40-44 }))]
+ (EpaComments
+ []))
+ (NoAnnSortKey)
+ (VirtualBraces
+ (3)))
+ (Nothing)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:7-19 })
+ (Unqual
+ {OccName: LiftingMonad2}))
+ (HsQTvs
+ (NoExtField)
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:22-38 })
+ (KindedTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:28:22-38 }
+ (UnchangedAnchor))
+ [(AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:28:30-31 }))
+ ,(AddEpAnn AnnOpenP (EpaSpan { DumpSemis.hs:28:22 }))
+ ,(AddEpAnn AnnOpenP (EpaSpan { DumpSemis.hs:28:23 }))
+ ,(AddEpAnn AnnCloseP (EpaSpan { DumpSemis.hs:28:37 }))
+ ,(AddEpAnn AnnCloseP (EpaSpan { DumpSemis.hs:28:38 }))]
+ (EpaComments
+ []))
+ (())
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:24-28 })
+ (Unqual
+ {OccName: trans}))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:33-36 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:28:33-36 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:33-36 })
+ (Unqual
+ {OccName: Type}))))))])
+ (Prefix)
+ []
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:3-23 })
+ (ClassOpSig
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:29:3-7 }
+ (UnchangedAnchor))
+ (AnnSig
+ (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:29:9-10 }))
+ [])
+ (EpaComments
+ []))
+ (False)
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:3-7 })
+ (Unqual
+ {OccName: proof}))]
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:12-23 })
+ (HsSig
+ (NoExtField)
+ (HsOuterImplicit
+ (NoExtField))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:12-23 })
+ (HsFunTy
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:29:12-16 }
+ (UnchangedAnchor))
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsUnrestrictedArrow
+ (L
+ (TokenLoc
+ (EpaSpan { DumpSemis.hs:29:18-19 }))
+ (HsNormalTok)))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:12-16 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:29:12-16 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:12-16 })
+ (Unqual
+ {OccName: trans}))))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:21-23 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:29:21-23 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:21-23 })
+ (Unqual
+ {OccName: Int}))))))))))]
+ {Bag(LocatedA (HsBind GhcPs)):
+ []}
+ []
+ []
+ [])))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:1-30 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:31:1-30 })
+ (SigD
+ (NoExtField)
+ (TypeSig
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:1 }
+ (UnchangedAnchor))
+ (AnnSig
+ (AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:31:3-4 }))
+ [])
+ (EpaComments
+ []))
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:1 })
+ (Unqual
+ {OccName: f}))]
+ (HsWC
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:6-30 })
+ (HsSig
+ (NoExtField)
+ (HsOuterImplicit
+ (NoExtField))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:6-30 })
+ (HsQualTy
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:6-20 }
+ (UnchangedAnchor))
+ (AnnContext
+ (Just
+ ((,)
+ (NormalSyntax)
+ (EpaSpan { DumpSemis.hs:31:22-23 })))
+ [(EpaSpan { DumpSemis.hs:31:6 })
+ ,(EpaSpan { DumpSemis.hs:31:7 })]
+ [(EpaSpan { DumpSemis.hs:31:19 })
+ ,(EpaSpan { DumpSemis.hs:31:20 })])
+ (EpaComments
+ [])) { DumpSemis.hs:31:6-20 })
+ [(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:8-11 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { DumpSemis.hs:31:12 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:31:8-11 })
+ (HsAppTy
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:8-9 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:8-9 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:8-9 })
+ (Unqual
+ {OccName: Eq}))))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:11 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:11 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:11 })
+ (Unqual
+ {OccName: a}))))))
+ ,(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:14-18 })
+ (HsAppTy
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:14-16 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:14-16 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:14-16 })
+ (Unqual
+ {OccName: Ord}))))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:18 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:18 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:18 })
+ (Unqual
+ {OccName: a}))))))])
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:25-30 })
+ (HsFunTy
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:25 }
+ (UnchangedAnchor))
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsUnrestrictedArrow
+ (L
+ (TokenLoc
+ (EpaSpan { DumpSemis.hs:31:27-28 }))
+ (HsNormalTok)))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:25 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:25 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:25 })
+ (Unqual
+ {OccName: a}))))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:30 })
+ (HsTyVar
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:31:30 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (NotPromoted)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:30 })
+ (Unqual
+ {OccName: a}))))))))))))))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:32:1-7 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:32:1-7 })
+ (ValD
+ (NoExtField)
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:1 })
+ (Unqual
+ {OccName: f}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:1-7 })
+ [(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:32:1-7 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:33:1 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:6 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:7 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:32:1-7 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:32:1-7 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:1 })
+ (Unqual
+ {OccName: f}))
+ (Prefix)
+ (NoSrcStrict))
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:3 })
+ (VarPat
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:3 })
+ (Unqual
+ {OccName: x}))))]
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:32:5-7 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:32:5-7 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:32:5 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:7 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:7 })
+ (Unqual
+ {OccName: x}))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ [])))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:8-35 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:36 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:35:1 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:34:8-35 })
+ (ValD
+ (NoExtField)
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:8 })
+ (Unqual
+ {OccName: x}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:8-35 })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:8-35 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:8-35 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:8 })
+ (Unqual
+ {OccName: x}))
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:34:9-35 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:9-35 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:34:9 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:10-35 })
+ (HsLet
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:10-35 }
+ (UnchangedAnchor))
+ (AnnsLet
+ (EpaSpan { DumpSemis.hs:34:10-12 })
+ (EpaSpan { DumpSemis.hs:34:32-33 }))
+ (EpaComments
+ []))
+ (HsValBinds
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:13-31 }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:34:14-30 }
+ (UnchangedAnchor)))
+ (Just
+ (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:34:13 })))
+ (Just
+ (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:34:31 })))
+ []
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:14 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:15 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:16 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:17 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:18 }))])
+ (EpaComments
+ []))
+ (ValBinds
+ (NoAnnSortKey)
+ {Bag(LocatedA (HsBind GhcPs)):
+ [(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:19-21 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:22 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:23 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:34:19-21 })
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:19 })
+ (Unqual
+ {OccName: y}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:19-21 })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:19-21 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:19-21 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:19 })
+ (Unqual
+ {OccName: y}))
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:34:20-21 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:20-21 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:34:20 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:21 })
+ (HsOverLit
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:21 }
+ (UnchangedAnchor))
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (OverLit
+ (NoExtField)
+ (HsIntegral
+ (IL
+ (SourceText 2)
+ (False)
+ (2))))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ []))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:24-26 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:27 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:28 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:29 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:30 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:34:24-26 })
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:24 })
+ (Unqual
+ {OccName: z}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:24-26 })
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:24-26 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:24-26 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:24 })
+ (Unqual
+ {OccName: z}))
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:34:25-26 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:25-26 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:34:25 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:26 })
+ (HsOverLit
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:34:26 }
+ (UnchangedAnchor))
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (OverLit
+ (NoExtField)
+ (HsIntegral
+ (IL
+ (SourceText 3)
+ (False)
+ (3))))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ []))]}
+ []))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:35 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:35 })
+ (Unqual
+ {OccName: y}))))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ [])))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:(36,1)-(44,4) }
+ (UnchangedAnchor))
+ (AnnListItem
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:(36,1)-(44,4) })
+ (ValD
+ (NoExtField)
+ (FunBind
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:36:1-3 })
+ (Unqual
+ {OccName: fot}))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(36,1)-(44,4) })
+ [(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:(36,1)-(44,4) }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:45:1 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:(36,1)-(44,4) })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(36,1)-(44,4) }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (FunRhs
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:36:1-3 })
+ (Unqual
+ {OccName: fot}))
+ (Prefix)
+ (NoSrcStrict))
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:36:5 })
+ (VarPat
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:36:5 })
+ (Unqual
+ {OccName: x}))))]
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:(36,7)-(44,4) }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(36,7)-(44,4) }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:36:7 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(37,3)-(44,4) })
+ (HsCase
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:(37,3)-(44,4) }
+ (UnchangedAnchor))
+ (EpAnnHsCase
+ (EpaSpan { DumpSemis.hs:37:3-6 })
+ (EpaSpan { DumpSemis.hs:37:10-11 })
+ [])
+ (EpaComments
+ []))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:37:8 })
+ (HsVar
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:37:8 })
+ (Unqual
+ {OccName: x}))))
+ (MG
+ (NoExtField)
+ (L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:(38,4)-(44,4) }
+ (UnchangedAnchor))
+ (AnnList
+ (Just
+ (Anchor
+ { DumpSemis.hs:(38,6)-(43,13) }
+ (UnchangedAnchor)))
+ (Just
+ (AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:38:4 })))
+ (Just
+ (AddEpAnn AnnCloseC (EpaSpan { DumpSemis.hs:44:4 })))
+ [(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:38:6 }))
+ ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:38:7 }))
+ ,(AddEpAnn AnnSemi (EpaSpan { DumpSemis.hs:38:8 }))]
+ [])
+ (EpaComments
+ [])) { DumpSemis.hs:(38,4)-(44,4) })
+ [(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:39:6-13 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:39:14 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:39:6-13 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:39:6 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (CaseAlt)
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:39:6 })
+ (NPat
+ (EpAnnNotUsed)
+ (L
+ { DumpSemis.hs:39:6 }
+ (OverLit
+ (NoExtField)
+ (HsIntegral
+ (IL
+ (SourceText 0)
+ (False)
+ (0)))))
+ (Nothing)
+ (NoExtField)))]
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:39:8-13 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:39:8-9 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:39:8-9 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:39:11-13 })
+ (HsLit
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:39:11-13 }
+ (UnchangedAnchor))
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsChar
+ (SourceText 'a')
+ ('a'))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:40:6-13 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:41:4 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:40:6-13 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:40:6 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (CaseAlt)
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:40:6 })
+ (NPat
+ (EpAnnNotUsed)
+ (L
+ { DumpSemis.hs:40:6 }
+ (OverLit
+ (NoExtField)
+ (HsIntegral
+ (IL
+ (SourceText 1)
+ (False)
+ (1)))))
+ (Nothing)
+ (NoExtField)))]
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:40:8-13 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:40:8-9 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:40:8-9 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:40:11-13 })
+ (HsLit
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:40:11-13 }
+ (UnchangedAnchor))
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsChar
+ (SourceText 'b')
+ ('b'))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:41:6-13 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:41:15 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:42:4 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:41:6-13 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:41:6 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (CaseAlt)
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:41:6 })
+ (NPat
+ (EpAnnNotUsed)
+ (L
+ { DumpSemis.hs:41:6 }
+ (OverLit
+ (NoExtField)
+ (HsIntegral
+ (IL
+ (SourceText 2)
+ (False)
+ (2)))))
+ (Nothing)
+ (NoExtField)))]
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:41:8-13 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:41:8-9 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:41:8-9 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:41:11-13 })
+ (HsLit
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:41:11-13 }
+ (UnchangedAnchor))
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsChar
+ (SourceText 'c')
+ ('c'))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))
+ ,(L
+ (SrcSpanAnn (EpAnn
+ (Anchor
+ { DumpSemis.hs:42:6-13 }
+ (UnchangedAnchor))
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:43:11 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:43:12 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:43:13 }))])
+ (EpaComments
+ [])) { DumpSemis.hs:42:6-13 })
+ (Match
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:42:6 }
+ (UnchangedAnchor))
+ []
+ (EpaComments
+ []))
+ (CaseAlt)
+ [(L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:42:6 })
+ (NPat
+ (EpAnnNotUsed)
+ (L
+ { DumpSemis.hs:42:6 }
+ (OverLit
+ (NoExtField)
+ (HsIntegral
+ (IL
+ (SourceText 3)
+ (False)
+ (3)))))
+ (Nothing)
+ (NoExtField)))]
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ { DumpSemis.hs:42:8-13 }
+ (GRHS
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:42:8-9 }
+ (UnchangedAnchor))
+ (GrhsAnn
+ (Nothing)
+ (AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:42:8-9 })))
+ (EpaComments
+ []))
+ []
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:42:11-13 })
+ (HsLit
+ (EpAnn
+ (Anchor
+ { DumpSemis.hs:42:11-13 }
+ (UnchangedAnchor))
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsChar
+ (SourceText 'd')
+ ('d'))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))])
+ (FromSource))
+ [])))]
+ (Nothing)
+ (Nothing))) \ No newline at end of file
diff --git a/testsuite/tests/parser/should_compile/T20452.stderr b/testsuite/tests/parser/should_compile/T20452.stderr
index 47a05d5770..d1a11145fa 100644
--- a/testsuite/tests/parser/should_compile/T20452.stderr
+++ b/testsuite/tests/parser/should_compile/T20452.stderr
@@ -155,9 +155,9 @@
{ T20452.hs:6:13-22 }
(UnchangedAnchor))
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:6:17-18 }))
+ ,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:6:13 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:6:14 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:6:21 }))
- ,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:6:13 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:6:22 }))]
(EpaComments
[]))
@@ -436,9 +436,9 @@
{ T20452.hs:9:14-27 }
(UnchangedAnchor))
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:9:20-21 }))
+ ,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:14 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:15 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:9:26 }))
- ,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:14 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:9:27 }))]
(EpaComments
[]))
@@ -470,9 +470,9 @@
{ T20452.hs:9:29-46 }
(UnchangedAnchor))
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:9:36-37 }))
+ ,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:29 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:30 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:9:45 }))
- ,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:29 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:9:46 }))]
(EpaComments
[]))
@@ -504,9 +504,9 @@
{ T20452.hs:9:48-76 }
(UnchangedAnchor))
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:9:54-55 }))
+ ,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:48 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:49 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:9:75 }))
- ,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:48 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:9:76 }))]
(EpaComments
[]))
diff --git a/testsuite/tests/parser/should_compile/all.T b/testsuite/tests/parser/should_compile/all.T
index d24321a103..5f81a651c3 100644
--- a/testsuite/tests/parser/should_compile/all.T
+++ b/testsuite/tests/parser/should_compile/all.T
@@ -179,3 +179,5 @@ test('T19521', normal, compile, [''])
test('T20186', normal, compile, [''])
test('T20452', normal, compile, [''])
+
+test('DumpSemis', normal, compile, ['-dsuppress-uniques -ddump-parsed-ast'])