[Git][ghc/ghc][wip/az/locateda-epa-improve-2023-07-15] EPA: Add '=>' to TrailingAnn
Alan Zimmerman (@alanz)
gitlab at gitlab.haskell.org
Wed Jul 19 21:02:32 UTC 2023
Alan Zimmerman pushed to branch wip/az/locateda-epa-improve-2023-07-15 at Glasgow Haskell Compiler / GHC
Commits:
a361f826 by Alan Zimmerman at 2023-07-19T22:01:50+01:00
EPA: Add '=>' to TrailingAnn
This is used as a trailing annotation in a context.
Add its normal and unicode variants.
Note that we keep the parsed representation the same, but make use of
it when exact printing.
- - - - -
7 changed files:
- testsuite/tests/parser/should_compile/DumpRenamedAst.stderr
- testsuite/tests/parser/should_compile/DumpSemis.stderr
- testsuite/tests/parser/should_compile/T15323.stderr
- testsuite/tests/typecheck/should_compile/T15242.stderr
- testsuite/tests/typecheck/should_compile/all.T
- utils/check-exact/ExactPrint.hs
- utils/check-exact/Utils.hs
Changes:
=====================================
testsuite/tests/parser/should_compile/DumpRenamedAst.stderr
=====================================
@@ -2381,15 +2381,6 @@
(Nothing)
(Nothing)))
,(L
-<<<<<<< current
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:5:1-16 })
- (ImportDecl
- (XImportDeclPass
- (EpAnn
- (Anchor
- { DumpRenamedAst.hs:5:1-16 }
- (UnchangedAnchor))
-=======
((EpAnnS
(EpaSpan { DumpRenamedAst.hs:5:1-16 })
(AnnListItem
@@ -2399,12 +2390,7 @@
(ImportDecl
(XImportDeclPass
(EpAnn
-<<<<<<< current
- (EpaSpan { DumpRenamedAst.hs:6:1-6 })
->>>>>>> fd352736b6 (Put BufSpan into RealSrcSpan)
-=======
(EpaSpan { DumpRenamedAst.hs:5:1-16 })
->>>>>>> patched
(EpAnnImportDecl
(EpaSpan { DumpRenamedAst.hs:5:1-6 })
(Nothing)
@@ -2431,13 +2417,6 @@
(Nothing)
(Nothing)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:7:1-23 })
- (ImportDecl
- (XImportDeclPass
- (EpAnn
- (Anchor
- { DumpRenamedAst.hs:7:1-23 }
- (UnchangedAnchor))
((EpAnnS
(EpaSpan { DumpRenamedAst.hs:7:1-23 })
(AnnListItem
=====================================
testsuite/tests/parser/should_compile/DumpSemis.stderr
=====================================
@@ -1503,7 +1503,7 @@
(NoExtField)
(L
(SrcSpanAnn (EpAnn
- (EpaSpan { DumpSemis.hs:31:6-23 })
+ (EpaSpan { DumpSemis.hs:31:6-20 })
(AnnContext
(Just
((,)
@@ -1514,7 +1514,7 @@
[(EpaSpan { DumpSemis.hs:31:19 })
,(EpaSpan { DumpSemis.hs:31:20 })])
(EpaComments
- [])) { DumpSemis.hs:31:6-23 })
+ [])) { DumpSemis.hs:31:6-20 })
[(L
((EpAnnS
(EpaSpan { DumpSemis.hs:31:8-11 })
=====================================
testsuite/tests/parser/should_compile/T15323.stderr
=====================================
@@ -160,7 +160,7 @@
(Just
(L
(SrcSpanAnn (EpAnn
- (EpaSpan { T15323.hs:6:31-39 })
+ (EpaSpan { T15323.hs:6:31-36 })
(AnnContext
(Just
((,)
@@ -169,7 +169,7 @@
[]
[])
(EpaComments
- [])) { T15323.hs:6:31-39 })
+ [])) { T15323.hs:6:31-36 })
[(L
((EpAnnS
(EpaSpan { T15323.hs:6:31-36 })
=====================================
testsuite/tests/typecheck/should_compile/T15242.stderr
=====================================
@@ -1,17 +1,1851 @@
-(EpaSpan { T15242.hs:6:5-41 })
-(EpaSpan { T15242.hs:6:6-40 })
-(EpaSpan { T15242.hs:6:7-39 })
-(EpaSpan { T15242.hs:6:8-35 })
-(EpaSpan { T15242.hs:6:9-34 })
-(EpaSpan { T15242.hs:6:10-33 })
-(EpaSpan { T15242.hs:6:11-29 })
-(EpaSpan { T15242.hs:6:12-25 })
-(EpaSpan { T15242.hs:6:13-21 })
-(EpaSpan { T15242.hs:6:14-20 })
-(EpaSpan { T15242.hs:5:5-17 })
-(EpaSpan { T15242.hs:5:6-16 })
-[]))
-(EpaSpan { T15242.hs:5:19-37 })
-(EpaSpan { T15242.hs:5:20-32 })
-(EpaSpan { T15242.hs:5:21-31 })
-[]))
\ No newline at end of file
+
+==================== Typechecker AST ====================
+
+{Bag(LocatedA (HsBind Var)):
+ [(L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (VarBind
+ (NoExtField)
+ {Var: T15242.$trModule}
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnn
+ (EpaDelta (SameLine 0) [])
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnn
+ (EpaDelta (SameLine 0) [])
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (ConLikeTc
+ ({abstract:ConLike})
+ []
+ [])))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnn
+ (EpaDelta (SameLine 0) [])
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (ConLikeTc
+ ({abstract:ConLike})
+ []
+ [])))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsLit
+ (EpAnn
+ (EpaDelta (SameLine 0) [])
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsStringPrim
+ (NoSourceText)
+ "main")))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnn
+ (EpaDelta (SameLine 0) [])
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (ConLikeTc
+ ({abstract:ConLike})
+ []
+ [])))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsLit
+ (EpAnn
+ (EpaDelta (SameLine 0) [])
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsStringPrim
+ (NoSourceText)
+ "T15242")))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))))))
+ ,(L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:1-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XHsBindsLR
+ (AbsBinds
+ [{Var: a_awV}]
+ []
+ [(ABE
+ {Var: g}
+ {Var: g_awX}
+ (WpHole)
+ (SpecPrags
+ []))]
+ [({abstract:TcEvBinds})]
+ {Bag(LocatedA (HsBind Var)):
+ [(L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:1-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (FunBind
+ ((,)
+ (WpHole)
+ [])
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: g_awX})
+ (MG
+ (MatchGroupTc
+ []
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FromSource))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { T15242.hs:6:1-44 })
+ [(L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:1-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (Match
+ (EpAnnNotUsed)
+ (FunRhs
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Name: g})
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ (EpAnnS
+ (EpaSpan { T15242.hs:6:3-44 })
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (GRHS
+ (EpAnnNotUsed)
+ []
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:5-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:5-41 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:6-40 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:7-39 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:8-38 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:8-35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:9-34 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:10-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:11-32 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:11-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:12-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:12-25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:13-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:13-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:14-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:15-19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:15-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpTyApp
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))))))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: id}))))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:18-19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpTyApp
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))))))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: id}))))))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:23-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpTyApp
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: id}))))))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:27-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpTyApp
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: id}))))))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:31-32 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpTyApp
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV}))))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: id}))))))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:37-38 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpTyApp
+ (FunTy
+ (FTF_T_T)
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (TyVarTy
+ {Var: a_awV})
+ (TyVarTy
+ {Var: a_awV})))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: id}))))))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:6:43-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpTyApp
+ (TyVarTy
+ {Var: a_awV}))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: id}))))))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))]))))]}
+ (False))))
+ ,(L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:1-37 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XHsBindsLR
+ (AbsBinds
+ []
+ []
+ [(ABE
+ {Var: f}
+ {Var: f_aAD}
+ (WpHole)
+ (SpecPrags
+ []))]
+ [({abstract:TcEvBinds})]
+ {Bag(LocatedA (HsBind Var)):
+ [(L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:1-37 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (FunBind
+ ((,)
+ (WpHole)
+ [])
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: f_aAD})
+ (MG
+ (MatchGroupTc
+ []
+ (TyConApp
+ ({abstract:TyCon})
+ [])
+ (FromSource))
+ (L
+ (SrcSpanAnn (EpAnnNotUsed) { T15242.hs:5:1-37 })
+ [(L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:1-37 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (Match
+ (EpAnnNotUsed)
+ (FunRhs
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Name: f})
+ (Prefix)
+ (NoSrcStrict))
+ []
+ (GRHSs
+ (EpaComments
+ [])
+ [(L
+ (EpAnnS
+ (EpaSpan { T15242.hs:5:3-37 })
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (GRHS
+ (EpAnnNotUsed)
+ []
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:5-37 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:5-17 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:6-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:7-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:7-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpCompose
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ []))
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:8-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: const})))
+ (L
+ (NoTokenLoc)
+ (HsTok)))))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsOverLit
+ (EpAnnNotUsed)
+ (OverLit
+ (OverLitTc
+ (False)
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpCompose
+ (WpEvApp
+ (EvExpr
+ (Var
+ {Var: $dNum_aAx})))
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ [])))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: fromInteger}))))))
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsLit
+ (EpAnnNotUsed)
+ (HsInteger
+ (SourceText 3)
+ (3)
+ (TyConApp
+ ({abstract:TyCon})
+ [])))))
+ (TyConApp
+ ({abstract:TyCon})
+ []))
+ (HsIntegral
+ (IL
+ (SourceText 3)
+ (False)
+ (3))))))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:19-37 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnn
+ (EpaSpan { T15242.hs:5:19-37 })
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (L
+ (TokenLoc
+ (EpaSpan { T15242.hs:5:19 }))
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:20-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:20-32 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:21-31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:22-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsApp
+ (EpAnnNotUsed)
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:22-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpCompose
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ []))
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ [])))
+ (HsPar
+ (EpAnnNotUsed)
+ (L
+ (NoTokenLoc)
+ (HsTok))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:23-25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (XExpr
+ (WrapExpr
+ (HsWrap
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ []))
+ (HsVar
+ (NoExtField)
+ (L
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
+ {Var: seq}))))))
+ (L
+ (NoTokenLoc)
+ (HsTok)))))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:28-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsLit
+ (EpAnn
+ (EpaSpan { T15242.hs:5:28-30 })
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsChar
+ (SourceText 'a')
+ ('a'))))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ (NoTokenLoc)
+ (HsTok))))
+ (L
+ ((EpAnnS
+ (EpaSpan { T15242.hs:5:34-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
+ (HsLit
+ (EpAnn
+ (EpaSpan { T15242.hs:5:34-36 })
+ (NoEpAnns)
+ (EpaComments
+ []))
+ (HsChar
+ (SourceText 'b')
+ ('b'))))))
+ (L
+ (TokenLoc
+ (EpaSpan { T15242.hs:5:37 }))
+ (HsTok))))))))]
+ (EmptyLocalBinds
+ (NoExtField)))))]))))]}
+ (False))))]}
=====================================
testsuite/tests/typecheck/should_compile/all.T
=====================================
@@ -635,22 +635,7 @@ test('T15788', normal, compile, [''])
test('T15807a', normal, compile, [''])
test('T13833', normal, compile, [''])
test('T14185', expect_broken(14185), compile, [''])
-
-def onlyHsParLocs(x):
- """
- We only want to check that all the parentheses are present with the correct location,
- not compare the entire typechecked AST.
- Located (HsPar GhcTc) are pretty printed with the form
- ({ <location info>
- (HsPar
- This function tries to extract all such location infos from the typechecked AST.
- """
- ls = x.split("\n")
- filteredLines = (loc.strip() for (loc,hspar) in zip(ls,ls[5:])
- if hspar.strip().startswith("(HsPar")
- and not "<no location info>" in loc)
- return '\n'.join(filteredLines)
-test('T15242', normalise_errmsg_fun(onlyHsParLocs), compile, [''])
+test('T15242', normal, compile, [''])
test('T15431', normal, compile, [''])
test('T15431a', normal, compile, [''])
test('T15428', normal, compile, [''])
=====================================
utils/check-exact/ExactPrint.hs
=====================================
@@ -1542,17 +1542,17 @@ instance (ExactPrint a) => ExactPrint (LocatedA a) where
exact (L la a) = do
debugM $ "LocatedA a:la loc=" ++ show (ss2range $ locA la)
a' <- markAnnotated a
--- start of variant ANEW
--- start of variant A
- ann' <- markALocatedA (ann la)
- return (L (la { ann = ann'}) a')
--- start of variant B
- -- return (L la a')
--- end of variants
- la' <- markALocatedA la
- return (L la' a')
---- end end
--- end of ANEW
+-- -- start of variant ANEW
+-- -- start of variant A
+-- ann' <- markALocatedA (ann la)
+-- return (L (la { ann = ann'}) a')
+-- -- start of variant B
+-- -- return (L la a')
+-- -- end of variants
+-- la' <- markALocatedA la
+-- return (L la' a')
+-- --- end end
+-- -- end of ANEW
return (L la a')
-- end of BNEW
@@ -4945,7 +4945,7 @@ instance ExactPrint (HsPatSigType GhcPs) where
instance ExactPrint (HsTyPat GhcPs) where
getAnnotationEntry = const NoEntryVal
- setAnnotationAnchor a _ _ = a
+ setAnnotationAnchor a _ _ _ = a
exact (HsTP an ty) = do
ty' <- markAnnotated ty
=====================================
utils/check-exact/Utils.hs
=====================================
@@ -48,8 +48,8 @@ import Types
-- |Global switch to enable debug tracing in ghc-exactprint Delta / Print
debugEnabledFlag :: Bool
-debugEnabledFlag = True
--- debugEnabledFlag = False
+-- debugEnabledFlag = True
+debugEnabledFlag = False
-- |Provide a version of trace that comes at the end of the line, so it can
-- easily be commented out when debugging different things.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/a361f8269f8440fe65f7ad187c88717780ba3dbd
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/a361f8269f8440fe65f7ad187c88717780ba3dbd
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230719/b59bf5fe/attachment-0001.html>
More information about the ghc-commits
mailing list