-
d43a7b7a
by Brian McKenna at 2026-07-15T20:10:04+02:00
Strip ticks when desugaring bool guards
The special `considerAccessible` pattern was broken when compiling
with debug info. Compiling with debug info wraps expressions with
`SourceNote` ticks, which broke the internals of the
`desugarBoolGuard` function. Ticks are now ignored within this
function.
Fixes #27360
-
ede4b17b
by Ben Gamari at 2026-07-15T22:59:53-04:00
base: Display ExceptionContext in WhileHandling's textual description
As originally-implemented the implementation for
`WhileHandling(displayExceptionAnnotation)` would display the
`ExceptionContext` of the exception which it carries (as this was the
behavior of `displayException`, in terms of which
`displayExceptionAnnotation` was implemented).
However, in 284ffab3 the definition of `SomeException(displayException)`
was changed to exclude the `ExceptionContext`. This means that
`WhileHandling(displayExceptionAnnotation)` fails to describe the
provenance of the exception which it captures, greatly limiting its
utility.
Return the implementation to its originally-specified behavior by
implementing `WhileHandling(displayExceptionAnnotation)` in terms of
`displayExceptionWithInfo`.
Fixes #27456.
-
0f64f348
by Cheng Shao at 2026-07-16T15:41:08+00:00
ci: add missing docker permission workaround in abi-test job
-
660cb239
by Cheng Shao at 2026-07-16T19:37:48+00:00
bindist: Fix make install -j race condition on macos/freebsd
This patch fixes make install -j race condition on macos/freebsd. BSD
install fails with EEXIST when multiple install processes concurrently
create the same prefix directory. So we add an `install_dirs`
prerequisite job that sequentially creates the directories for
subsequent jobs to work with. Fixes #27499.
Co-authored-by: Codex <codex@openai.com>
-
08130257
by Cheng Shao at 2026-07-16T19:37:48+00:00
ci: run bindist make install with -j
This patch makes the ci scripts run `make install` with `-j` to reduce
wall clock time when installing the bindist, see related issue for
benchmark numbers. This only affects ghc ci logic, the user-facing
default is up to distributors and is still `-j1`. Closes #27029.
-
d5ae6906
by Adam Gundry at 2026-07-17T04:57:43-04:00
Mark various language extension flags as deprecated (see #27329)
The following language extensions are now deprecated:
- AlternativeLayoutRule
- AlternativeLayoutRuleTransitional
- ParallelArrays
- PolymorphicComponents
- Rank2Types
In addition, the warning `-Walternative-layout-rule-transitional`
has been marked as deprecated, as it is emitted only under the
deprecated extension `XAlternativeLayoutRuleTransitional`.
-
fe3b059c
by Andrew Lelechenko at 2026-07-17T04:58:26-04:00
base: re-export GHC.Environment.getFullArgs from System.Environment
CLC proposal https://github.com/haskell/core-libraries-committee/issues/431
-
57ec828f
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Keep decls together in ClassDecl
Similar to 1718230f4d3d19d8c49c0e5d496cb0fb6f399528 for HsValBindsLR,
this commit updates ClassDecl so that it no longer splits out the
assorted `LHsDecl GhcPs` until the renamer.
It does this by inserting a type family (separate from the classic TTG one) for this.
So
data TyClDecl
...
| ClassDecl {
...
tcdDecls :: XClassDecls pass
with
type instance XClassDecls GhcPs = [LHsDecl GhcPs]
type instance XClassDecls GhcRn = ClassDeclX GhcRn
type instance XClassDecls GhcTc = ClassDeclX GhcTc
data ClassDeclX pass
= ClassDeclX { tcdSigs :: [LSig pass], -- ^ Methods' signatures
tcdMeths :: LHsBinds pass, -- ^ Default methods
tcdATs :: [LFamilyDecl pass], -- ^ Associated types;
tcdATDefs :: [LTyFamDefltDecl pass], -- ^ Associated type defaults
tcdDocs :: [LDocDecl pass] -- ^ Haddock docs
}
-
34d3536a
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: ClsInstDecl as list in GhcPs
-
be5a6400
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove LocatedP from OverlapMode
-
fbdc0b05
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove LocatedP from CType
-
32a98fe7
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove LocatedP, last use in WarningTxt
-
28a45308
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove LocatedE from WarningCategory
-
dcc85bbf
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove LocateE from XCImport and XCExport
-
e07491a3
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove LocatedE from HsRecFields dot
-
da65d94c
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove LocatedE completely, last usage for pats
-
179ec156
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove AnnList (EpToken "where") usages
This is moving toward removing the parameter from AnnList completely
-
a0ad69ea
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA remove AnnList (EpToken "rec") usages
-
5f79214c
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove last parameterised AnnList usage (EpaLocation)
Also remove the parameter
-
5cc06df4
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
TTG: Add extension points to BooleanFormula
They are currently unused, but will be used for exact print annotations next
-
da7db0e7
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: Remove LocatedBC / SrcSpanBF
-
eb4f8caa
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPA: remove unused addTrailingAnnToL. Squash appropriately
-
96504da1
by Alan Zimmerman at 2026-07-18T11:47:17+01:00
EPS: Remove NoEpTok/NoEpUniTok, using an unhelpful SrcSpan instead
Also introduce helper functions noEpTok and noEpUniTok to serve
as simple replacements in code inserting an token annotation without
location information.