- Apr 25, 2024
-
-
Ben Gamari authored
- Apr 24, 2024
-
-
This mainly has consequences for GHCi but also slightly alters how the output of GHC on the commandline looks. Fixes: #22499 (cherry picked from commit 275e41a9)
-
This MR addresses #24463. It's all explained in the new Note [Cloning CoVars and TyVars] (cherry picked from commit 9d38bfa0)
-
This was missing part of the unit ID meaning it would 404. Resolves #24674 (cherry picked from commit f30e4984)
-
Ben Gamari authored
Rather than `hide`. Closes #24659. (cherry picked from commit d7a3d6b5)
-
Zubin authored
The implementation of `checkHomeUnitsClosed` was traversing every single path in the unit dependency graph - this grows exponentially and quickly grows to be infeasible on larger unit dependency graphs. Instead we replace this with a faster implementation which follows from the specificiation of the closure property - there is a closure error if there are units which are both are both (transitively) depended upon by home units and (transitively) depend on home units, but are not themselves home units. To compute the set of units required for closure, we first compute the closure of the unit dependency graph, then the transpose of this closure, and find all units that are reachable from the home units in the transpose of the closure. (cherry picked from commit a933aff3)
-
Ben Gamari authored
Closes #24609. (cherry picked from commit 55eb8c98)
-
Ben Gamari authored
-
- Apr 21, 2024
-
-
Alan Zimmerman authored
This goes slightly against the exact printing philosophy where trailing decorations should be in an annotation, but the practicalities of adding it to the WarningTxt environment, and the problems caused by deviating do not make a more principles approach worthwhile. (cherry picked from commit 00d3ecf0)
-
Alan Zimmerman authored
Contributes to #24669 (cherry picked from commit 2f8e3a25)
-
Alan Zimmerman authored
Include the location of the prefix @ in the span for InVisPat. Also removes unnecessary annotations from HsTP. Contributes to #24669 (cherry picked from commit 26036f96)
-
Alan Zimmerman authored
And remove unused parameter in checkPatBind Contributes to #24669 (cherry picked from commit c90c6039)
-
Alan Zimmerman authored
Also extend the test to confirm. Addresses #24669, 1 of 4 (cherry picked from commit f0701585)
-
Alan Zimmerman authored
This is used in exact printing to store comments coming after the `where` keyword but before any comments allocated to imports or decls. It is used in ghc-exactprint, see https://github.com/alanz/ghc-exactprint/commit/44bbed311fd8f0d053053fef195bf47c17d34fa7
-
- Apr 15, 2024
-
-
Matthew Craven authored
-
Matthew Craven authored
-
- Apr 13, 2024
-
-
Ben Gamari authored
Unfortunately the `Lift` instances introduced in 1.14 trigger #22229. While it's unlikely that an end-user will observe this breakage, we cannot to ship a release with the CI breakage that this implies (as multi-component support would have no validation). Consequently, we have no choice but to try to fix #22229 and bump again in 9.12. This reverts commit 2ed72644.
-
- Apr 12, 2024
-
-
Ben Gamari authored
As requested in #24528.
-
Ben Gamari authored
The previous implementation was both hard to follow and repeated itself, making changes quite error-prone. Refactor this to be a bit more easier to reason about.
-
Ben Gamari authored
-
Ben Gamari authored
It turns out that this test uses `execvp`, not `exec` on CentOS 7. Normalise this spurious difference away.
-
Ben Gamari authored
-
- Apr 11, 2024
-
-
This allows us to use a NoCommentsLocation for the possibly trailing comma location in a StringLiteral. This in turn allows us to correctly roundtrip via makeDeltaAst. (cherry picked from commit 12b997df)
-
So we can update it to a delta position in makeDeltaAst if needed. (cherry picked from commit 19883a23)
-
GHC was outright crashing before this fix: #24604 (cherry picked from commit faa30b41)
-
This allows us to update them for makeDeltaAst in ghc-exactprint (cherry picked from commit 1324b862)
-
Ben Gamari authored
(cherry picked from commit 9b9e031b)
-
(cherry picked from commit 0c4a9686)
-
Sylvain Henry authored
h$appendToHsString needs to wrap its argument in an updatable thunk to behave like unpackAppendCString#. Otherwise if a SingleEntry thunk is passed, it is stored as-is in a CONS cell, making the resulting list impossible to deepseq (forcing the thunk doesn't update the contents of the CONS cell)! The added test checks that the optimization kicks in and that h$appendToHsString works as intended. Fix #24495 (cherry picked from commit 527616e9)
-
Sylvain Henry authored
The optimization introducing h$appendToHsString wasn't kicking in anymore (while it did in 9.8.1) because of the changes introduced in #23270 (7e0c8b3b). This patch reenables the optimization by matching on case-expression, as done in Cmm for unpackCString# standard thunks. The test is also T24495 added in the next commits (two commits for ease of backporting to 9.8). (cherry picked from commit b36ee57b)
-
This allows us to use an EpDelta if needed when using makeDeltaAst. (cherry picked from commit 3b7b0c1c)
-
Hopefully the final fix needed for #24533 (cherry picked from commit be3bddde)
-
Before this patch: data ArgPat p = InvisPat (LHsType p) | VisPat (LPat p) With this patch: data Pat p = ... | InvisPat (LHsType p) ... And the same transformation in the TH land. The rest of the changes is just updating code to handle new AST and writing tests to check if it is possible to create invalid states using TH. Metric Increase: MultiLayerModulesTH_OneShot (cherry picked from commit 36a75b80)
-
(cherry picked from commit 28009fbc)
-
Fixes #24562 (cherry picked from commit 817e8936)
-
In #24551, we abstracted a string literal binding over a type variable, triggering a CoreLint error when that binding floated to top-level. The solution implemented in this patch fixes this by re-doing dependency analysis on a simplified recursive let binding that is about to be type abstracted, in order to find the minimal set of type variables to abstract over. See wrinkle (AB5) of Note [Floating and type abstraction] for more details. Fixes #24551 (cherry picked from commit 3e0b2b1f)
-
The XRec for [LIdP pass] is not needed for exact printing, remove it. (cherry picked from commit 1b1a92bd)
-
Ben Gamari authored
Fixing #24643
-
Ben Gamari authored
Closes #24646.
-