-
ced53ce6
by mangoiv at 2026-08-29T07:15:24-04:00
nightlies: output yaml to file only
Previously we would just output the metadata to stdout
which risks that it's clobbered by incidental debugt output.
We now output to file only.
Fixes #27511
-
578bd185
by Andreas Klebinger at 2026-08-29T07:16:05-04:00
Specialise: Stop looping on recursive dictionaries in interestingDict
interestingDict now doesn't look through loopbreaker unfoldings.
Doing so would cause infinite loops on certain dictionaries.
Fixes #27705.
-
ee1c879e
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA Fix HsCmdDo exact print with comments
Exact printing of HsCmdDo was ignoring the location for the do
statements, and this is an annotation that can have comments in it.
Update it so we print the statements as a unit, including any
comments.
Also add the result of auditing that we capture comments in all needed
places, noting that the remaining Anno SrcSpan instances are benign.
-
a7e63b70
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Remove ListBanana / ListParens from AnnListBrackets
-
09450f69
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Tidy up mkHsDoPv, take AnnList directly
And some extra stuff by accident.
The main goal is to slim down AnnListBrackets to just have braces or
none.
This makes it clear that it serves only for lists which may have layout,
and opens the route to use EpLayout instead of AnnListBrackets
-
a806ecc3
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Add specific layout field to AnnList
-
6e3e4d18
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Use EpaLocation in EpVirtualBraces
reword:
EPA Use vocurly as basis for AnnListLayout
For the existing cases that populate AnnList.
This also shows up AnnList usages that can never capture layout.
-
2bc76402
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Use vocurly as basis for AnnListLayout
For the existing cases that populate AnnList.
This also shows up AnnList usages that can never capture layout.
-
aba3c05c
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: AnnList clean up patch for empty where clause
-
ff7a28af
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Add TTG fields to FamilyInfo
This commit is a simple add, with unused extension fields.
It lays the groundwork for using them for exact print annotations
-
ddaf1532
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
WIP annclassdecl
-
003d3b3f
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Update AnnClsInstDecl to contain AnnList
It was already separately tracking the '{', '}' and leading ';' values.
This aligns it with layout-introducing parser productions ('vocurly'),
so the layout processing can be handled uniformly
-
bcc5194e
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Tidy up markAnnListA'
It takes an action which can modify the AnnList, but this
is never used. So remove it.
-
d1982191
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Use AnnList for GADT declarations
-
69ccfd17
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Use AnnList in AnnClassDecl
-
42fc4aff
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
MOVE EPA: Plan for Fixing AnnList Layout Properly
-
19a93eef
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Make local binds located
Use LHsLocalBinds instead of HsLocalBinds
This reverses an earlier change, and brings processing of local binds
into alignement with the exact printing principle that the LocatedA
contents provide the location and extent of the enclosed item,
together with any comments or context-specific trailing items like
commas or semi colons.
The internal TTG extension points only carry exact print annotations
related to printing the item within its bounds.
This change brings back the problem of EmptyLocalBinds, which by
definition cannot have a location. These get a noSrcSpan location,
which is ignored in the exact printing process.
-
c4deb16e
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Use AnnList in HsMultiIf
It introduces layout, capture it
-
de1a0a14
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Use AnnList in DecBrl
-
d4064c5f
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Replace AnnListLayout / AnnListBrackets with EpLayout
-
ca027dcf
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
WIP: setLayoutBoth inside markAnnListA
Current problem is it is a global one-shot, and MG has one too
Check: is it needed?
if so, honouring EpLayout may be needed
-
4f290a65
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA some tests for layout. WIP
-
0065f850
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
Exactprint layout scope plan. Do not commit
-
f12812b8
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: tidy up a bit. Combine somewhere else
-
ff71cdc3
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Introduce LayoutFrame stacks in ExactPrint state
-
8abf2d58
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
Align with ghc-exactprint
-
9a66fc37
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Fix AnnList leading semis when layout
When there is layout, anything printed triggers it, including leading
semis.
Add some test case examples too
-
0b2f376b
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
Exactprint: tidy up layout capturing
-
d70a4bd9
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: add makeDelta test for Test20297
The original #20297 related to comment placement for exact printing
after running ExactPrint.makeDelta on ParsedSource. Add an additional
test that explicitly tests this.
-
94464526
by Alan Zimmerman at 2026-08-31T12:31:49+01:00
EPA: Make ValBinds LocatedA in HsLocalBindsLR
If we have items with an AnnList Annotation, as part of another, which
has different content, it must be LocatedA. This is a technical requirement
due to the way comment allocation happens during the makeDelta processing.
Comments are queued for printing, and as soon as any non-comment is to
be printed, the pending comments before that position are printed, and
in makeDelta processing these attached as preceding comments to the thing
just printed.
The means they end up captured inside the layout region of the AnnList item.
So for
foo = x
where -- comment
x = 3
the comment ends up as a preceding comment of `x = 3`, inside the
layout, and prints as
foo = x
where
-- comment
x = 3
-
bdab2e7c
by Alan Zimmerman at 2026-08-31T13:19:40+01:00
EPA: Make IPBinds LocatedA
-
7765e5e6
by Alan Zimmerman at 2026-08-31T13:24:40+01:00
Extend Test20297 for additional occurrences
-
1f42a027
by Alan Zimmerman at 2026-08-31T13:24:40+01:00
Plan update DO NOT COMMIT
-
660b12df
by Alan Zimmerman at 2026-08-31T13:24:40+01:00
EPA: First pass implementation of HsList, for ClassDecls
Just as a straight list replacement to start with, no payload.
This shows the scope and invasiveness of the initial change
-
7f1f7ec1
by Alan Zimmerman at 2026-08-31T13:24:40+01:00
EPA: HsList attempt WIP
-
f9cf132d
by Alan Zimmerman at 2026-08-31T13:24:40+01:00
Enable ppr test for Haddock1. It currently fails
-
6c753756
by Alan Zimmerman at 2026-08-31T13:24:40+01:00
WIP on removing NoEpAnn. Likely abandon
-
ded0ae39
by Alan Zimmerman at 2026-08-31T13:24:40+01:00
EPA: Add an overview doc for exact printing
-
4c227442
by Simon Peyton Jones at 2026-08-31T13:24:40+01:00
Added an intro section