-
9b714c4c
by Zubin Duggal at 2026-07-05T09:40:36+05:30
CorePrep: Don't speculatively evaluate bindings that we have already discovered to be absent
In #25924, we segfault because speculation forces a projection out of a RUBBISH dictionary
(which we generated because it absent).
Solution: Don't speculate on bindings we already know are absent.
Fixes 25924
-
4a59b3ee
by Zubin Duggal at 2026-07-05T09:40:36+05:30
Don't make absent fillers for terminating types
In #25924 we discovered that we could speculatively evaluate an absent filler
for a dictionary, and project a field (a superclass selector) out of it,
resulting in segfaults.
Solution: Never make an absent filler or rubbish literal for a terminating type
like a dictionary. mkAbsentFiller returns Nothing for isTerminatingType, so
worker/wrapper and the specialiser keep the real argument instead.
Some small metric decreases because we do a little less work in the
simplifier now.
Metric Decrease:
T9872a
T9872b
T9872c
TcPlugin_RewritePerf
-
383ddcd4
by Alan Zimmerman at 2026-07-06T07:08:16-04:00
EPA: Move the 'where' annotation for PatSynBind
This allows us to move it out of the MatchGroup exact print annotation
too
-
26388a3e
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Replace AnnListItem with simply [TrailingAnn]
Remove the unnecessary wrapper around a single field.
-
c54c3ba0
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Keep binds and sigs together in HsValBindsLR
This allows us to get rid of AnnSortKey BindTag
-
36263258
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
Keep decls together in ClassDecl
Keep binds and sigs together in HsValBindsLR
TBD
-
ace92759
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
Fix ppr for ClassDecl to include DocDs
-
87aecdab
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
Some tidy ups of the decls stuff. Squash it in
-
1f13b166
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: ClsInstDecl as list in GhcPs
-
4f85203e
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Remove LocatedP from OverlapMode
-
cc2b2518
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Remove LocatedP from CType
-
f815e482
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Remove LocatedP, last use in WarningTxt
-
2e0eaf53
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Remove LocatedE from WarningCategory
-
14b7ba38
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Remove LocateE from XCImport and XCExport
-
f6213b84
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Remove LocatedE from HsRecFields dot
-
7f912c61
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Remove LocatedE completely, last usage for pats
-
d0b1d9de
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Remove AnnList (EpToken "where") usages
This is moving toward removing the parameter from AnnList completely
-
be1eb4d4
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA remove AnnList (EpToken "rec") usages
-
5537e90d
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
EPA: Remove last parameterised AnnList usage (EpaLocation)
Also remove the parameter
-
2606a98a
by Alan Zimmerman at 2026-07-06T18:18:24+01:00
TTG: Add extension points to BooleanFormula
They are currently unused, but will be used for exact print annotations next
-
0d4d8f86
by Alan Zimmerman at 2026-07-06T22:03:31+01:00
EPA: Remove LocatedBC / SrcSpanBF