<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>
<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>
<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";'>
<div class="content">
<h3 style="margin-top: 20px; margin-bottom: 10px;">
Simon Peyton Jones pushed to branch wip/T23109 at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cbae3708e67bc37c0c9d972c4a60610f08191618">cbae3708</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-03-11T06:09:58-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>users guide: Fix typo</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1951eb7a68420450cf17182c343e0132474483af">1951eb7a</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-03-11T06:10:35-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>testsuite: Don't count fragile passes as failures in JUnit output
As noted in #25806, the testsuite driver's JUnit output
previously considered passes of fragile tests to be failures. Fix this.
Closes #25806.</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/589f40b9525c59d646a8b13cd51057bd350f7849">589f40b9</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-03-11T06:11:11-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Use panic rather than error in expectJust
Otherwise, we would not get a callstack printed out when the exception
occurs.
Fixes #25829
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d450e88ededf9ad042e2eae993d5ab2d133a677a">d450e88e</a></strong>
<div>
<span> by sheaf </span> <i> at 2025-03-11T06:42:59-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Solve Wanted quantified constraints from Givens
This commit ensures we directly solve Wanted quantified constraints from
matching inert Given quantified constraints,instead of going through the
trouble of emitting an implication constraint and processing that.
This is not just an optimisation; it makes our lives easier when
generating RULEs for specialisation.
See Note [Solving Wanted QCs from Given QCs] for details
Fixes #25758
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/48daaf53934a2b04af5996a81f9ed8553426d9c0">48daaf53</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-03-11T06:42:59-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>testsuite: Add testcase for #25577
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d2ffb0ced429afa6924932ff1e3d725bd4d0d0a3">d2ffb0ce</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-03-11T06:42:59-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>testsuite/ghc-api: Eliminate Makefile usage from various GHC API tests
These tests can be expressed perfectly well using the testsuite driver
itself.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2275b642a40afcf50d9c0fe5babae5b4a7346714">2275b642</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-03-11T06:42:59-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts/linker/MachO: Assert that GOT relocations have GOT entries
In #25577 we found that some GOT relocation types were not being given
relocation entries. Add assertions to catch this sort of failure in the
future.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8c96bcb4b67c2cb43e99e7dce111e9193d43e980">8c96bcb4</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-03-11T06:42:59-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts/linker/MachO: Account for internal GOT references in GOT construction
Previously we failed to give GOT slots to symbols which were referred to
by GOT relocations in the same module. This lead to #25577.
Fix this by explicitly traversing relocation lists and maintaining a
`needs_got` flag for each symbol.
Fixes #25577.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7b84c58867edca57a45945a20a9391724db6d9e4">7b84c588</a></strong>
<div>
<span> by Vladislav Zavialov </span> <i> at 2025-03-11T06:43:02-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>One list in ConPat (part of #25127)
This patch changes PrefixCon to use one list instead of two:
-data HsConDetails tyarg arg rec
- = PrefixCon [tyarg] [arg]
+data HsConDetails arg rec
+ = PrefixCon [arg]
| RecCon rec
| InfixCon arg arg
The [tyarg] list is now gone. To understand the effect of this change,
recall that there are three instantiations of HsConDetails:
1. type HsConPatDetails p =
HsConDetails (HsConPatTyArg (NoGhcTc p)) -- tyarg
(LPat p) -- arg
(HsRecFields p (LPat p)) -- rec
2. type HsConDeclH98Details pass =
HsConDetails Void -- tyarg
(HsScaled pass (LBangType pass)) -- arg
(XRec pass [LConDeclField pass]) -- rec
3. type HsPatSynDetails pass =
HsConDetails Void -- tyarg
(LIdP pass) -- arg
[RecordPatSynField pass] -- rec
In cases (2) and (3), tyarg was instantiated to Void, so the [tyarg]
list was always empty. Its removal is basically a no-op.
The interesting case is (1), which is used in ConPat to represent
pattern matching of the form (MkE @tp1 @tp2 p1 p2).
With this patch, its representation is changed as follows:
ConPat "MkE" [tp1, tp2] [p1, p2] -- old
ConPat "MkE" [InvisP tp1, InvisP tp2, p1, p2] -- new
The new mixed-list representation is consintent with lambdas, where
InvisP is already used to deal with \ @tp1 @tp2 p1 p2 -> body.
The immediate effect of the new representation is an improvement to
error messages. Consider the pattern (Con x @t y). Previously it
resulted in a parse error because @t could not occur after x. Now it is
reported as [GHC-14964]. Test case: TyAppPat_MisplacedApplication.
In the long term, this is intended as preparation for #18389 and #25127,
which would make (Con x @t y) potentially valid, e.g. if its type is
Con :: forall a -> forall b. (a, b) -> T
The TH AST is left unchanged for the moment to avoid breakage.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cce869ea2439bb16c284ce7ed71a173d54a8c9ad">cce869ea</a></strong>
<div>
<span> by Vladislav Zavialov </span> <i> at 2025-03-11T06:43:02-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Error message with EmptyCase and RequiredTypeArguments (#25004)
Fix a panic triggered by a combination of \case{} and forall t ->
ghci> let f :: forall (xs :: Type) -> (); f = \case {}
panic! (the 'impossible' happened)
GHC version 9.10.1:
Util: only
The new error message looks like this:
ghci> let f :: forall (xs :: Type) -> (); f = \case {}
<interactive>:5:41: error: [GHC-48010]
• Empty list of alternatives in \case expression
checked against a forall-type: forall xs -> ...
This is achieved as follows:
* A new data type, BadEmptyCaseReason, is now used to describe
why an empty case has been rejected. Used in TcRnEmptyCase.
* HsMatchContextRn is passed to tcMatches, so that the type checker
can attach the syntactic context to the error message.
* tcMatches now rejects type arguments if the list of alternatives is
empty. This is what fixes the bug.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/37d8b50b6de8ee69ea26196fd3869fe0a83e5802">37d8b50b</a></strong>
<div>
<span> by sheaf </span> <i> at 2025-03-11T06:43:06-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>user's guide: consolidate defaulting documentation
This commit adds a new section on defaulting, which consolidates various
parts of documentation surrounding defaulting into one central place.
It explains type class defaulting in detail, extensions to it with
OverloadedStrings, NamedDefaults and ExtendedDefaultRules, as well
as other defaulting mechanisms (e.g. kind-based defaulting such as
RuntimeRep defaulting, and defaulting of equalities).
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0c9fd8d48ab018739ac146420c474367c98d9ab1">0c9fd8d4</a></strong>
<div>
<span> by sheaf </span> <i> at 2025-03-11T06:43:06-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>user's guide: flesh out XOverloadedStrings docs
This commit extends the documentation of the OverloadedStrings extension
with some usage information, in particular suggestions to:
- use default declarations, such as `default (Text)` or
`default IsString(Text)` (with the NamedDefaults extension),
- enable the ExtendedDefaultRules extension to relax the requirement
that a defaultable type variable must only appear in unary standard
classes
Fixes #23388
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2df171d40b93c666a3aa8b616a47c9acf13f7189">2df171d4</a></strong>
<div>
<span> by sheaf </span> <i> at 2025-03-11T06:43:06-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>user's guide: NamedDefaults vs ExtendedDefaultRules
This commit clarifies the defaulting rules with NamedDefaults,
in particular in situations where a type variable appears in other
constraints than standard/unary constraints.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/77df05d0714b405eed6a7285abdc8bd90cf37ae1">77df05d0</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-03-11T06:43:07-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Take into account all flags when computing iface_hash
The "interface hash" should contain a hash of everything in the
interface file. We are not doing that yet but at least a start is to
include a hash of everything in `mi_self_recomp`, rather than just
`mi_src_hash` and `mi_usages`.
In particular, this fixes #25837, a bug where we should recompile a
`dyn_hi` file but fail to do so.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/48b8f1101d5e061f6dc0346c8e7fa7340172d45d">48b8f110</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-03-11T06:43:07-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Pass -fPIC to dynamicToo001 test to avoid platform dependence issues
On darwin platforms, `-fPIC` is always enabled but on linux it is only
enabled in the dynamic flavour. This can cause a difference in
interface files (see #25836).
The purpose of this test isn't to test module A recompilation, so we
avoid this platform dependency by always passing `-fPIC`.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/03c72f014c72d0728d813df8d56ea3364b775b47">03c72f01</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-03-11T06:43:07-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Remove mi_used_th field from interface files
In the distant past, recompilation checking was disabled for interfaces which used
TemplateHaskell, but for several years now recompilation checking has
been more fine-grained. This has rendered this field unused and
lingering in an interface file.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6bb0e2617dd771dd9b059dc1906b268f5e53e440">6bb0e261</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-03-11T06:43:07-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Remove mi_hpc field from interface files
The `mi_hpc` field is not used for anything as far as I can discern so
there is no reason to record in the private interface of a module that
there are modules in the transitive closure which use `hpc`.
You can freely mix modules which use `-fhpc` and ones which don't.
Whether to recompile a module due to `-fhpc` being passed to the module
itself is determined in `fingerprintDynFlags`.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b6d5b09103dea97351774c5ab34082165504b997">b6d5b091</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-03-11T22:39:23-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>We can't UNPACK multi-constructor GADTs
This MR fixes #25672
See Note [Unpacking GADTs and existentials] in GHC.Types.Id.Make
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8eae151de9eb8f8fd0a41c1a33e25c63b1e1bb11">8eae151d</a></strong>
<div>
<span> by Teo Camarasu </span> <i> at 2025-03-11T22:40:00-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>template-haskell: Add explicit exports lists to all remaining modules
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/db621b58640e65f836c9f7c045fe76ac57ec8641">db621b58</a></strong>
<div>
<span> by Teo Camarasu </span> <i> at 2025-03-11T22:40:00-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>template-haskell: fix haddocks
It seems that we need a direct dependency on ghc-internal, otherwise
Haddock cannot find our haddocks
The bug seems to be caused by Hadrian because if I rebuild with
cabal-install (without this extra dependency) then I get accurate
Haddocks.
Resolves #25705
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/64ea68d9a206ec4db5020b0a3fc563199ab18be3">64ea68d9</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-03-12T07:11:51-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>mk-ghcup-metadata: Clean up and add type annotations
Getting this file right has historically been quite painful as it is a
dynamically-typed script running only late in the release pipeline.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b3f80b07d3057f28eb5f42e35f78fcff9331198b">b3f80b07</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-03-12T07:12:27-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts: Drop imports of pthreads functions in cmm sources
These are no longer used. I noticed these while looking for uses of
__PIC__ in Cmm sources.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/915a6781cb0c8c7a0c832dcf2a8a769431aa8da0">915a6781</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-03-13T01:46:41-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>interfaces: Ensure that forceModIface deeply forces a ModIface
A ModIface is the result of compilation that we keep for a long time in
memory. Therefore, it's very important to manage what we are going to
retain and remove any external references to things which we might have
captured compilation.
If storing your ModIface in memory uses too much space, then store
less things or make it use a more efficient representation.
In the past there have been many space leak bugs by not sufficiently
forcing a ModIface (#15111)
This patch adds all the missing NFData instances for all the places I
could find where we weren't deeply forcing the structure.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/24d373a69c17d11da42c7fdc93efd4c17bd3f2c7">24d373a6</a></strong>
<div>
<span> by Matthew Craven </span> <i> at 2025-03-13T01:47:18-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Add interface-stability test for ghc-prim
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/63d242642e6b4cfd884667304ae0bc40efb64802">63d24264</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-03-14T17:09:51+00:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Make newtype instances opaque
I think this will help with #23109
Wibbles
Allow SelCo for newtype classes
Experimental change
Wibble
Furher wibbles
Further improvments
Further wibbles
esp exprIsConLike
Run classop rule first
Newtype classops are small
needs comments
Wibble imports
Wibbles
Notably: define and use mkNewTypeDictApp
Make newtype-class data constructors not inline
This variant tries
* Making the data constructor for a newtype class not inline
* exprIsConApp_maybe treats it like a normal data constructor
* CoreToStg discards it (perhaps CorePrep should do that instead)
* Some as-it-turns-out unforced changes to corePrepPgm that makes
it pass all TyCons, not just the data tycons
* Significantly simpler story in mkNewTypeDictApp
Wibble
Get rid of newtype classes in CorePrep not CoreToStg
Comment out bits that I think are no longer necessary
* Extra field in ClassOpId,
and classOpDictApp_maybe in Simplify.Iteration
* Newtype classes being injective
* Don't preInlineUnconditionally Dfuns
* mkNewTypeDictApp
* Zonking of unfoldings (only necessary for those local dfuns)
Wibble
Allow pushDataCon on ClassTyCon newtypes
The fact that there is no *actual* data constructor in the end i
kind-of-irrelevant, and we turn out to get quite a lot of
class-op (d |> co)
where co : C t1 ~R C t2
Wibbles to merge
Make newtype classes pretend to be injective
Make class datacons be have-no-unfolding
Fixes the problem reported in #20689 @Mikolaj
wibble
Don't make a closure table for type data decls
Make UanaryClass a new AlgTyConRhs
work in progress, won't compile
More wibbles
More wibbbles
More wibbles
Unused bindings
Unused import
Wibbles
Wibbles
Wibble
Wibbles
Remove tyConAlgDataCons_maybe, and tyConSingleAlgDataCon_maybe
Rename dontUnbox to canUnboxType (flippping sign)
Rebase wibbles
More rebase wibbles
Yet more rebase wibbles
Wibble imports
Import wibble
Adjust type of evCast
..to avoid gratuitous breakage
Re-add mkEvCast, but DEPRECATED
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/600777ba55e9d2d4f0cd01eea882db5aa6d4e879">600777ba</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-03-14T17:09:52+00:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Wibbles
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d800d1cd4d5139b45d4371f0746f959ab54c2b56">d800d1cd</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-03-14T17:09:52+00:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Revert ConLike change
I'm not sure why I made this change
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5a727a5ea552be1a6e03bc1cd020f3274e7e53e1">5a727a5e</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-03-14T17:09:52+00:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>No newtype axioms for unary type classes
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a3112c2d507d07bdab98c1b2f7bb96dd052a3729">a3112c2d</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-03-14T17:09:52+00:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Inline unary-class dfuns
df d1 ... dn = MkD (op d1 .. dn)
remembering that the MkD will disappear in the end
This makes a big difference to compile time for tests
WWRec
T15164
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
194 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#87873753e9f32a3fb27939a82d944277fa501572">
.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
</a>
</li>
<li class="file-stats">
<a href="#d0d96a6d03668aeab20ebe05e2c4ccb798c7e64c">
compiler/GHC.hs
</a>
</li>
<li class="file-stats">
<a href="#16db773e94d0938489b415eb3231cadb2565b84d">
compiler/GHC/ByteCode/InfoTable.hs
</a>
</li>
<li class="file-stats">
<a href="#182d6a315e784018aa9c8b2ad736036b97bd5d48">
compiler/GHC/Core.hs
</a>
</li>
<li class="file-stats">
<a href="#783e5dae6e86931f06700fc088fb7d48c8a07386">
compiler/GHC/Core/Coercion.hs
</a>
</li>
<li class="file-stats">
<a href="#f10ed7a2470454dfdd8691a08beba67d8b78ee70">
compiler/GHC/Core/Coercion/Axiom.hs
</a>
</li>
<li class="file-stats">
<a href="#6fcf64907fb5bdd93082d2d1eb94e4566e735865">
compiler/GHC/Core/DataCon.hs
</a>
</li>
<li class="file-stats">
<a href="#91648438362e5a35363d2bb7abb04016dedd7d7e">
compiler/GHC/Core/FamInstEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#36a42448a83a9d1f6df8475f03ead2eed199dd8e">
compiler/GHC/Core/Lint.hs
</a>
</li>
<li class="file-stats">
<a href="#c3967bb9d3e8f5aae2dd111b5a335b48c21c1999">
compiler/GHC/Core/Opt/Arity.hs
</a>
</li>
<li class="file-stats">
<a href="#8104fa1b71db6cfc4eb90cd769463d9eb9004619">
compiler/GHC/Core/Opt/DmdAnal.hs
</a>
</li>
<li class="file-stats">
<a href="#2f46b19cb85e3f7b4e72305644bc50015628c41d">
compiler/GHC/Core/Opt/Simplify/Env.hs
</a>
</li>
<li class="file-stats">
<a href="#ae6d91a5d028418bbf1431347d659e744e0a3128">
compiler/GHC/Core/Opt/Simplify/Iteration.hs
</a>
</li>
<li class="file-stats">
<a href="#48fbb5cdea308650de5756521feb28ec68819b9b">
compiler/GHC/Core/Opt/Simplify/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#ab22d7ae4d245581b701367e386d7e886e416e76">
compiler/GHC/Core/Opt/Specialise.hs
</a>
</li>
<li class="file-stats">
<a href="#f4421b4e35592648510c877ecf55b1af2b96dcee">
compiler/GHC/Core/Opt/WorkWrap/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#11ffe98a94d798427bc600e4fcfe899407536346">
compiler/GHC/Core/SimpleOpt.hs
</a>
</li>
<li class="file-stats">
<a href="#578c7c3857d66d963736ff6742f3433a0e8d01b7">
compiler/GHC/Core/TyCo/Rep.hs
</a>
</li>
<li class="file-stats">
<a href="#4aad0050db1a8a20db8bbca149111de99cb299c9">
compiler/GHC/Core/TyCon.hs
</a>
</li>
<li class="file-stats">
<a href="#84c9d3ba34173297e7d7747e02caa2e004b164fc">
compiler/GHC/Core/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#2811a7297b8aa206197ac1f5dabd0818e3c7ec5a">
compiler/GHC/Core/Unfold.hs
</a>
</li>
<li class="file-stats">
<a href="#940913dd549c6b1c334daafbc4b7eef29c94d924">
compiler/GHC/Core/Unfold/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#1a7aba0daeafab195716dd25432479804a55ab60">
compiler/GHC/Core/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#d79a8a61508cb6c5f38a23ab2b691bb77306f672">
compiler/GHC/CoreToStg.hs
</a>
</li>
<li class="file-stats">
<a href="#a5d27de4e3111a69f69902c65ecf7b3379f7c49a">
compiler/GHC/CoreToStg/Prep.hs
</a>
</li>
<li class="file-stats">
<a href="#f4ae6618b39d5ee4af8302b821aa7e38097a84b7">
compiler/GHC/Data/Maybe.hs
</a>
</li>
<li class="file-stats">
<a href="#5a7f38fde8c90331b9c8bb6844b40fbea5c77387">
compiler/GHC/Data/Strict.hs
</a>
</li>
<li class="file-stats">
<a href="#2e5692f568fd7b67a6b172e2a60469da8392508c">
compiler/GHC/Driver/Flags.hs
</a>
</li>
<li class="file-stats">
<a href="#9a679a2680ef6061397f1987091ea9f96ffe095d">
compiler/GHC/Driver/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#65ca06d51797ebf672a62bde6c00bcb9444e1425">
compiler/GHC/Hs/Binds.hs
</a>
</li>
<li class="file-stats">
<a href="#75bfcd03f3ba9315d33104fcb0424c6bfeb4e334">
compiler/GHC/Hs/Decls.hs
</a>
</li>
<li class="file-stats">
<a href="#9f00edfedb0f969865b049a78de3866545b4a60b">
compiler/GHC/Hs/Instances.hs
</a>
</li>
<li class="file-stats">
<a href="#0bae7e7e67b5f9b6ba2a371f8917cf74423a0c6f">
compiler/GHC/Hs/Pat.hs
</a>
</li>
<li class="file-stats">
<a href="#018be522bc4813b147a1525e4f96a7a493207d96">
compiler/GHC/Hs/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#7a1af22e4c32b9aa6ec708d9d3788e1c4db5da9a">
compiler/GHC/Hs/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#dd79b5199bc3b425c4536c633b39006df111a7ef">
compiler/GHC/HsToCore.hs
</a>
</li>
<li class="file-stats">
<a href="#ea46b374e004d4416e29a563ee063542f98e48c5">
compiler/GHC/HsToCore/Docs.hs
</a>
</li>
<li class="file-stats">
<a href="#6bdd5abc649727f2a802bc96ce5c276de19d3726">
compiler/GHC/HsToCore/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#73d2b5c14c6cd4cb2c09087042caf1a69ae51b72">
compiler/GHC/HsToCore/Foreign/Call.hs
</a>
</li>
<li class="file-stats">
<a href="#085703923f9c18f6ac9f926ac9a4c7c7e6d9d9ed">
compiler/GHC/HsToCore/Match.hs
</a>
</li>
<li class="file-stats">
<a href="#b370399ae1ab68e37f0e631d98a45da6df9f011c">
compiler/GHC/HsToCore/Match/Constructor.hs
</a>
</li>
<li class="file-stats">
<a href="#950eaa7de202a2e915b5ff68a4cfd16e972ad359">
compiler/GHC/HsToCore/Pmc/Desugar.hs
</a>
</li>
<li class="file-stats">
<a href="#3c19c0be465f9a28d7b69f89c55648080fcc37eb">
compiler/GHC/HsToCore/Quote.hs
</a>
</li>
<li class="file-stats">
<a href="#5fbeca6b3e6a959dedea83c4af51c13942e2def5">
compiler/GHC/Iface/Decl.hs
</a>
</li>
<li class="file-stats">
<a href="#649144a78135a23cabfc90dd83c4aabf448eb6ab">
compiler/GHC/Iface/Ext/Ast.hs
</a>
</li>
<li class="file-stats">
<a href="#7d51edda4fa76a202cce0bca672ef300249ba8ea">
compiler/GHC/Iface/Load.hs
</a>
</li>
<li class="file-stats">
<a href="#4ed0dc87b8bdd9324e8a181cff15caa104b9e58c">
compiler/GHC/Iface/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#a8e6b17fc507589522323d8dd20d9713e8c06760">
compiler/GHC/Iface/Recomp.hs
</a>
</li>
<li class="file-stats">
<a href="#564e9a65da41b9a1a621e054ef5ddf8a487d3a97">
compiler/GHC/Iface/Recomp/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#079d6b28856775716c78fdd4a4b35bb45a59002c">
compiler/GHC/Iface/Syntax.hs
</a>
</li>
<li class="file-stats">
<a href="#d11203a9321005ba51a16d751c86f609d1f18c71">
compiler/GHC/Iface/Tidy.hs
</a>
</li>
<li class="file-stats">
<a href="#f2b2b84d138b362920ab9f144f58bf16254aab64">
compiler/GHC/Iface/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#bf951467d4a9aa443cb109cb4c84a2891945649b">
compiler/GHC/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#4769efc0cb06e92bc7562e31984f6d7d91048e51">
compiler/GHC/Parser/Errors/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#6bd0eb7fd0a01f3d8cf2efe3f1d026d2145cf10b">
compiler/GHC/Parser/Errors/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#446cb12ca6cefaf1c6eb79b7db643632744263c7">
compiler/GHC/Parser/PostProcess.hs
</a>
</li>
<li class="file-stats">
<a href="#13755bdc5d6c6b4c6f31604eb0da778521355795">
compiler/GHC/Parser/PostProcess/Haddock.hs
</a>
</li>
<li class="file-stats">
<a href="#af762064d779f7308dd415966c974f27d14f9943">
compiler/GHC/Rename/Bind.hs
</a>
</li>
<li class="file-stats">
<a href="#7dd1cd0f6f2164a14c83d9aa564dd32bc30e447a">
compiler/GHC/Rename/Module.hs
</a>
</li>
<li class="file-stats">
<a href="#e05ee69330b0f7088f11a5f3567137547489664d">
compiler/GHC/Rename/Names.hs
</a>
</li>
<li class="file-stats">
<a href="#cfa41b5649933e5b12f7796e9d49b9dd6a0bc59f">
compiler/GHC/Rename/Pat.hs
</a>
</li>
<li class="file-stats">
<a href="#939d24c1002dc322659c1f67c9f3d2db2ae31dd4">
compiler/GHC/Rename/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#1522139eef391430974e254694d2feec1d43d85a">
compiler/GHC/StgToByteCode.hs
</a>
</li>
<li class="file-stats">
<a href="#aa1ca517ccf154900e46e9f1db33050e272840be">
compiler/GHC/StgToCmm.hs
</a>
</li>
<li class="file-stats">
<a href="#e4b9d5e9d2de37561bfd06a2c97a5c924a1bab76">
compiler/GHC/Tc/Errors.hs
</a>
</li>
<li class="file-stats">
<a href="#1dd9c7a6bbc222c976a6ec1c4b772232ae60f7e5">
compiler/GHC/Tc/Errors/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#cdba811872892f235fe7059df1a6c538fba60816">
compiler/GHC/Tc/Errors/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#6a1f039ed7725eddef15dd5f4dc318a3434f26c9">
compiler/GHC/Tc/Gen/App.hs
</a>
</li>
<li class="file-stats">
<a href="#71fa5eb3ba70e1d3a6181a226c2c227d42f1eb7d">
compiler/GHC/Tc/Gen/Arrow.hs
</a>
</li>
<li class="file-stats">
<a href="#83f745d921da7adb739e81f83e1c07e723e4a789">
compiler/GHC/Tc/Gen/Bind.hs
</a>
</li>
<li class="file-stats">
<a href="#902811828741e6bcd64702935bbb54edbbd070ef">
compiler/GHC/Tc/Gen/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#3377164bfe9a1f1a8cfd588703ae1e0ea1e91cf9">
compiler/GHC/Tc/Gen/Match.hs
</a>
</li>
<li class="file-stats">
<a href="#3ee8be814b6c6727880deab3772e6af922524bf0">
compiler/GHC/Tc/Gen/Pat.hs
</a>
</li>
<li class="file-stats">
<a href="#9ea832ccdb4b5f7508a1efd6caedeafa16b269e7">
compiler/GHC/Tc/Gen/Splice.hs
</a>
</li>
<li class="file-stats">
<a href="#aebe2c3d616f6843166d2657bed048898add6bc9">
compiler/GHC/Tc/Instance/Class.hs
</a>
</li>
<li class="file-stats">
<a href="#07389a8f0516c26409d86f6bb651ed00759b5d4c">
compiler/GHC/Tc/Instance/Family.hs
</a>
</li>
<li class="file-stats">
<a href="#e65390fa5a32c453a81a1c9a3e1c4464d155ca4a">
compiler/GHC/Tc/Module.hs
</a>
</li>
<li class="file-stats">
<a href="#8bc716c15e34e2a77fef39fd4634b3ebbb9961f8">
compiler/GHC/Tc/Solver/Default.hs
</a>
</li>
<li class="file-stats">
<a href="#60f69bb5bc0ef8edf7d13518a1e48f7d36236318">
compiler/GHC/Tc/Solver/Dict.hs
</a>
</li>
<li class="file-stats">
<a href="#03ec4f8741105271af29a61fdb47c8feba9bbcfa">
compiler/GHC/Tc/Solver/Equality.hs
</a>
</li>
<li class="file-stats">
<a href="#0c6b585a8a21f8340a85ca2cef89c4b1bf5a8953">
compiler/GHC/Tc/Solver/Monad.hs
</a>
</li>
<li class="file-stats">
<a href="#ab8ab088292736c35c38fa55bdaec8ddcbf20b32">
compiler/GHC/Tc/Solver/Solve.hs
</a>
</li>
<li class="file-stats">
<a href="#83d23a46bb6cdc8b1edc16f1fd2c8f5c53e2c9ca">
compiler/GHC/Tc/TyCl.hs
</a>
</li>
<li class="file-stats">
<a href="#7b7e8d821fd827b68e24dabab7f3d87a407c0f50">
compiler/GHC/Tc/TyCl/Build.hs
</a>
</li>
<li class="file-stats">
<a href="#e63425e031ffe9350ee6b1687e506aaea75d11e1">
compiler/GHC/Tc/TyCl/Instance.hs
</a>
</li>
<li class="file-stats">
<a href="#5c0a7f8291c984f0fc06f59e7cf10dbecc11598b">
compiler/GHC/Tc/TyCl/PatSyn.hs
</a>
</li>
<li class="file-stats">
<a href="#7dcf5b567a6cd3c9d98cf8d57323fbca1b1536e9">
compiler/GHC/Tc/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#b5011e89d215f1f2ef15c552e0cc6a9af40c45f9">
<span class="deleted-file">
−
compiler/GHC/Tc/Types/EvTerm.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#46e7b59eca287d43c19d0d8902b41f5d04f0d268">
compiler/GHC/Tc/Types/Evidence.hs
</a>
</li>
<li class="file-stats">
<a href="#c6e4263ee64c68e57b7525127d98243fce38b1ea">
compiler/GHC/Tc/Utils/Monad.hs
</a>
</li>
<li class="file-stats">
<a href="#94c96afe1bb3b771ffbcfeeca34ce43ebbe76ccb">
compiler/GHC/Tc/Utils/TcMType.hs
</a>
</li>
<li class="file-stats">
<a href="#70276ecbf78c4d6abaaaba692722a2a4e2e46167">
compiler/GHC/Tc/Zonk/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#2eac51f9871ca0c0698aa1fc7f79c05ef8fc4a49">
compiler/GHC/ThToHs.hs
</a>
</li>
<li class="file-stats">
<a href="#5f47a6cc2453940682fe1b793f80c049348f7b3a">
compiler/GHC/Types/Annotations.hs
</a>
</li>
<li class="file-stats">
<a href="#166e3514d27c63ef7e86af29830d9e8b2a31c8b1">
compiler/GHC/Types/Basic.hs
</a>
</li>
<li class="file-stats">
<a href="#3fc5bb65c04915723225de2ada7ecc20157f2f23">
compiler/GHC/Types/CostCentre.hs
</a>
</li>
<li class="file-stats">
<a href="#5bcd33b3f4e2ded7d62072075645aee2aca65683">
compiler/GHC/Types/CostCentre/State.hs
</a>
</li>
<li class="file-stats">
<a href="#d09e98aae6ad2eb59d08eac7894b68c0ab820cda">
compiler/GHC/Types/Demand.hs
</a>
</li>
<li class="file-stats">
<a href="#27aadaecb86e6f3f545286614804ef107a9949c8">
compiler/GHC/Types/ForeignCall.hs
</a>
</li>
<li class="file-stats">
<a href="#be1ee9a9349dfcfcaa49c4ef7eb91a31b326c982">
compiler/GHC/Types/GREInfo.hs
</a>
</li>
<li class="file-stats">
<a href="#b22db2926747cf920a6282d959f5266bba6e9750">
compiler/GHC/Types/HpcInfo.hs
</a>
</li>
<li class="file-stats">
<a href="#20aaf8344f379f354fe31dd0c1c4db4ddc5b17aa">
compiler/GHC/Types/Id.hs
</a>
</li>
<li class="file-stats">
<a href="#261c0c5029eb34eb7436b087d77314f377ff8223">
compiler/GHC/Types/Id/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#ee98f016857ad5548bb7cdc5dd85246585acdfd6">
compiler/GHC/Types/Literal.hs
</a>
</li>
<li class="file-stats">
<a href="#804ef387cfc0e82b5b58b0764a766737229ac624">
compiler/GHC/Types/RepType.hs
</a>
</li>
<li class="file-stats">
<a href="#5057204c7c8a2f21618a63fe5b393b47eafd57a1">
compiler/GHC/Types/SourceFile.hs
</a>
</li>
<li class="file-stats">
<a href="#9b5f1671f007d547cf3b5ec40babeafdffb99b1a">
compiler/GHC/Types/SrcLoc.hs
</a>
</li>
<li class="file-stats">
<a href="#49adaedbb694748035a5c7111adf7480c110ea21">
compiler/GHC/Types/TyThing.hs
</a>
</li>
<li class="file-stats">
<a href="#5dac619989e8509003cf7b463c100f5cc56072a3">
compiler/GHC/Types/Var.hs
</a>
</li>
<li class="file-stats">
<a href="#887e29e8fb42c2e95ced4d97d29913d823a7d72f">
compiler/GHC/Unit/Module/Deps.hs
</a>
</li>
<li class="file-stats">
<a href="#1b2e538eb480e4eb902f34efbe20581ec112e3c0">
compiler/GHC/Unit/Module/ModGuts.hs
</a>
</li>
<li class="file-stats">
<a href="#1b4da42c16b46d6c6cc2c2962072b1e91f519f4a">
compiler/GHC/Unit/Module/ModIface.hs
</a>
</li>
<li class="file-stats">
<a href="#5938b47c4cbf0df07fe6b3b3771017f306a32634">
compiler/GHC/Unit/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#09940f54f0164898f73533b62933a4d40f74b915">
compiler/GHC/Utils/Panic.hs
</a>
</li>
<li class="file-stats">
<a href="#fb2779c07baabf56d53cd66ce6d58b91a80130f7">
compiler/Language/Haskell/Syntax/Basic.hs
</a>
</li>
<li class="file-stats">
<a href="#00df6c149812cb8e21335d2ec26d0f24bdf1e441">
compiler/Language/Haskell/Syntax/Binds.hs
</a>
</li>
<li class="file-stats">
<a href="#997b81d43f8807b1b83ca6cc7c52b367982f2bf7">
compiler/Language/Haskell/Syntax/Decls.hs
</a>
</li>
<li class="file-stats">
<a href="#f92237bbf761245188d3b0de16bb685b3eaa2b60">
compiler/Language/Haskell/Syntax/Pat.hs
</a>
</li>
<li class="file-stats">
<a href="#ef5ad6f4dfc8fa107eace213eecba4bc1014ca57">
compiler/Language/Haskell/Syntax/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#276b89d115b49e3c544848548beaa005b0d56b23">
compiler/Language/Haskell/Syntax/Type.hs-boot
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#fc92bd51e26744718f0cbe3c1146182c90f67b31">
docs/users_guide/exts/named_defaults.rst
</a>
</li>
<li class="file-stats">
<a href="#b269a0f659968853b5c28b1dd8be4b1a1941f573">
docs/users_guide/exts/overloaded_strings.rst
</a>
</li>
<li class="file-stats">
<a href="#fa050e1532c92b2ffc94692d8b368f3fefa3196d">
docs/users_guide/exts/poly_kinds.rst
</a>
</li>
<li class="file-stats">
<a href="#b0568596f663fec3ee4206a25674821d35128f49">
<span class="new-file">
+
docs/users_guide/exts/type_defaulting.rst
</span>
</a>
</li>
<li class="file-stats">
<a href="#6d1fca171c6a03160a926c81f0da9d21b40ff046">
docs/users_guide/exts/types.rst
</a>
</li>
<li class="file-stats">
<a href="#b02c1c6109c60b8f685234b0dbaabf6c79fed2a2">
docs/users_guide/ghci.rst
</a>
</li>
<li class="file-stats">
<a href="#f3f4f8dc731afc0db48a11e3aabda27aaff46cda">
docs/users_guide/using-concurrent.rst
</a>
</li>
<li class="file-stats">
<a href="#f200d12faceb564d24fae726cc4efa7a81da7b2d">
libraries/ghc-boot/GHC/Serialized.hs
</a>
</li>
<li class="file-stats">
<a href="#8e584d18427a4bfabb2a7d6fce6efcbc2afb0954">
libraries/template-haskell/Language/Haskell/TH/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#69ef85a6e7ab6d9c208fe739eb45e851efa03461">
libraries/template-haskell/Language/Haskell/TH/PprLib.hs
</a>
</li>
<li class="file-stats">
<a href="#ed3c6537b674490396f9cab5cbb014ee54e71168">
libraries/template-haskell/Language/Haskell/TH/Syntax.hs
</a>
</li>
<li class="file-stats">
<a href="#8f8341958f03c71e1eee3b82a943baee4c8d42f6">
libraries/template-haskell/template-haskell.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#c295ca8b90dc6b200fb3e0cbd3dfdc5df307bbc7">
rts/HeapStackCheck.cmm
</a>
</li>
<li class="file-stats">
<a href="#6db965f97cbab901f493506a385bcf1283009921">
rts/PrimOps.cmm
</a>
</li>
<li class="file-stats">
<a href="#f4db9593d88d3c951505379e54f3db74f49ae142">
rts/linker/MachO.c
</a>
</li>
<li class="file-stats">
<a href="#14975ea9a5656755bfc9e56bab742db9719ca69f">
rts/linker/MachOTypes.h
</a>
</li>
<li class="file-stats">
<a href="#96b14d8a347641de46ae7635d1db43e9fc7cee04">
testsuite/driver/junit.py
</a>
</li>
<li class="file-stats">
<a href="#f227a38797c18ee429e783e5132ca39e5a4cc7e7">
testsuite/tests/count-deps/CountDepsAst.stdout
</a>
</li>
<li class="file-stats">
<a href="#2dcdf7aadcff5b41822596f22b49b2851374d0cd">
testsuite/tests/count-deps/CountDepsParser.stdout
</a>
</li>
<li class="file-stats">
<a href="#425fa5b709922f3f6c49917d8f61af2132746b23">
testsuite/tests/dmdanal/sigs/T21888.stderr
</a>
</li>
<li class="file-stats">
<a href="#e51ccb8ba5af04b037289795bbf088fab373d31c">
testsuite/tests/driver/dynamicToo/dynamicToo001/Makefile
</a>
</li>
<li class="file-stats">
<a href="#a645785c1f0ab6f6bcd9659e03c93ddee11cb466">
<span class="new-file">
+
testsuite/tests/driver/dynamicToo/dynamicToo001/T25837.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#611d9c2a8051459372715d2d2e83ae73afa0f779">
<span class="new-file">
+
testsuite/tests/driver/dynamicToo/dynamicToo001/T25837Module.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#449f4214fe3b821a41b7f26d1f8f015eba846dc6">
testsuite/tests/driver/dynamicToo/dynamicToo001/test.T
</a>
</li>
<li class="file-stats">
<a href="#1857d5c502dd790de97bc606ae7f6a93ae3655d1">
testsuite/tests/ghc-api/Makefile
</a>
</li>
<li class="file-stats">
<a href="#3cee726fa36ebb860b6892c4c2f7eef4b556ae92">
<span class="new-file">
+
testsuite/tests/ghc-api/T25577.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#6d92d90388a97d8ff12e9d812f64e3a5f296df09">
testsuite/tests/ghc-api/all.T
</a>
</li>
<li class="file-stats">
<a href="#c667b660d548272e27f44bf34c9a844c019bd6f7">
testsuite/tests/ghc-api/exactprint/Test20239.stderr
</a>
</li>
<li class="file-stats">
<a href="#4caabe37afee285fec3f18b82331ba583cdb8460">
testsuite/tests/haddock/should_compile_flag_haddock/T24221.stderr
</a>
</li>
<li class="file-stats">
<a href="#c057cea3e088c0efa10c84486404cc497ce7c4a5">
testsuite/tests/interface-stability/README.mkd
</a>
</li>
<li class="file-stats">
<a href="#43794991a3ab7bd4c54e1230bc8bdf11853f2e02">
testsuite/tests/interface-stability/all.T
</a>
</li>
<li class="file-stats">
<a href="#5ca09303e9841852333c82dec192a2ab3ee298d8">
<span class="new-file">
+
testsuite/tests/interface-stability/ghc-prim-exports.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#9bfff027f8bd04d1f681f6af6bfe8d44b20273e8">
<span class="new-file">
+
testsuite/tests/interface-stability/ghc-prim-exports.stdout-mingw32
</span>
</a>
</li>
<li class="file-stats">
<a href="#a17c8d9c61bdc6a36ce63a9423c7740966700dc3">
testsuite/tests/numeric/should_compile/T15547.stderr
</a>
</li>
<li class="file-stats">
<a href="#e6a699bed61e0c8d8109f383d714115200dd37b4">
testsuite/tests/parser/should_compile/DumpParsedAst.stderr
</a>
</li>
<li class="file-stats">
<a href="#338eb1c1a80bcdbcecf4018a1808183f4305c65b">
testsuite/tests/parser/should_compile/DumpRenamedAst.stderr
</a>
</li>
<li class="file-stats">
<a href="#c7cbb518abd02952b7e40de417eb0ee3adf61a8c">
testsuite/tests/parser/should_compile/T14189.stderr
</a>
</li>
<li class="file-stats">
<a href="#7bf6b8534c3526853866ce7ffe6017cfe65b7bf8">
testsuite/tests/parser/should_compile/T20452.stderr
</a>
</li>
<li class="file-stats">
<a href="#8cb35be8f13ce47421a8f834d7262e0459fb7e5a">
testsuite/tests/printer/Test24533.stdout
</a>
</li>
<li class="file-stats">
<a href="#e2df39d81b450380a21f85a11d8553ca0aadc3ed">
testsuite/tests/rename/should_fail/T22478b.stderr
</a>
</li>
<li class="file-stats">
<a href="#34ec0e2feed75b3250a8bac12e8b4d878017cf72">
testsuite/tests/rename/should_fail/T22478e.stderr
</a>
</li>
<li class="file-stats">
<a href="#6421eead48ad9b780f446fece308f9084188a949">
testsuite/tests/rename/should_fail/T22478f.stderr
</a>
</li>
<li class="file-stats">
<a href="#c5d8728cba431493a7f9249d50fa059478ebeedd">
testsuite/tests/roles/should_compile/Roles14.stderr
</a>
</li>
<li class="file-stats">
<a href="#abbf4fb3aa1f761971354189e6537b8113d2e6ce">
testsuite/tests/roles/should_compile/Roles3.stderr
</a>
</li>
<li class="file-stats">
<a href="#9f6dfb765b6863e5abfa795af35b9d5712639a5e">
testsuite/tests/roles/should_compile/Roles4.stderr
</a>
</li>
<li class="file-stats">
<a href="#089e83feefd2501e3855d9a3a76002453bfd73b9">
testsuite/tests/simplCore/should_compile/T17366.stderr
</a>
</li>
<li class="file-stats">
<a href="#1f5a12a2e740265efa74f1870cfdf1c5f371493b">
testsuite/tests/simplCore/should_compile/T17966.stderr
</a>
</li>
<li class="file-stats">
<a href="#063b08c1d893326738c575954c47d58225d8a025">
<span class="new-file">
+
testsuite/tests/simplCore/should_fail/T25672.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#4f12324e75ef61a1bde15df775df32396acb4ee5">
<span class="new-file">
+
testsuite/tests/simplCore/should_fail/T25672.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#1001545a0c7d4becdb7e0a2bd5d3b61c30491dd9">
testsuite/tests/simplCore/should_fail/all.T
</a>
</li>
<li class="file-stats">
<a href="#1bc7e353983ec73338417b7d18236cab3ed9f372">
testsuite/tests/tcplugins/CtIdPlugin.hs
</a>
</li>
<li class="file-stats">
<a href="#bd37bc98f027a50a54399e06f548c170e06b2022">
testsuite/tests/typecheck/should_compile/T12763.stderr
</a>
</li>
<li class="file-stats">
<a href="#e579a029b2f46ab9f292d1c4f6d5dc2ecc10df08">
testsuite/tests/typecheck/should_fail/T19109.stderr
</a>
</li>
<li class="file-stats">
<a href="#6c9724fbbee5971641b6197a36e360bbe73db0ff">
testsuite/tests/typecheck/should_fail/T23776.stderr
</a>
</li>
<li class="file-stats">
<a href="#6564e50d06ce55186b44003eb33c228330527b85">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/T25004.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#9122b870b3e577e74a31646a7958221778fbe078">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/T25004.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#1fc2042c2492debe6a90ce957ec7ee22e9868879">
testsuite/tests/typecheck/should_fail/TyAppPat_MisplacedApplication.hs
</a>
</li>
<li class="file-stats">
<a href="#6da24144a737c05652b2132eb31661fd166e9b9c">
testsuite/tests/typecheck/should_fail/TyAppPat_MisplacedApplication.stderr
</a>
</li>
<li class="file-stats">
<a href="#b9e86d897a62509b0114d81d5e736630d6f68f43">
testsuite/tests/typecheck/should_fail/all.T
</a>
</li>
<li class="file-stats">
<a href="#43aa8c9f0862c912934d464882bc7ce10f9cfc5f">
testsuite/tests/wasm/should_run/control-flow/LoadCmmGroup.hs
</a>
</li>
<li class="file-stats">
<a href="#c5662bedafa6a48ec7062b131d94b70f514207d9">
utils/check-exact/ExactPrint.hs
</a>
</li>
<li class="file-stats">
<a href="#586357a2c04f0362ee2cb86667775817c2aff155">
utils/dump-decls/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#e034a4a4a1857305273379f05bf424df17c5638c">
utils/haddock/haddock-api/src/Haddock/Backends/Hoogle.hs
</a>
</li>
<li class="file-stats">
<a href="#8f82ba6dff88f9e7ad4870c8bdc938435fbc41ba">
utils/haddock/haddock-api/src/Haddock/Backends/LaTeX.hs
</a>
</li>
<li class="file-stats">
<a href="#0021f6c1d2d8be0699c998ebc0f356fdcb274b87">
utils/haddock/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs
</a>
</li>
<li class="file-stats">
<a href="#cb92c0da89f4484c35cb51446517efc852c873f6">
utils/haddock/haddock-api/src/Haddock/Convert.hs
</a>
</li>
<li class="file-stats">
<a href="#47431656008a8a76a307d7241eb1e403599e0d87">
utils/haddock/haddock-api/src/Haddock/GhcUtils.hs
</a>
</li>
<li class="file-stats">
<a href="#dffd8f88371490d2739689b42e6243e5df222760">
utils/haddock/haddock-api/src/Haddock/Interface/Create.hs
</a>
</li>
<li class="file-stats">
<a href="#40c8e31ea57a3820afaa253b1bc8c6c268605ec6">
utils/haddock/haddock-api/src/Haddock/Interface/Rename.hs
</a>
</li>
<li class="file-stats">
<a href="#c076b696928328c9cd5824ee5867c5c390827167">
utils/haddock/haddock-api/src/Haddock/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#bc7f4bcd1f6efc3ab884fe6f8ce70443ce944826">
utils/haddock/html-test/ref/QuasiExpr.html
</a>
</li>
<li class="file-stats">
<a href="#798117fb1c7c0632c3d330023449695a97c6bb7c">
utils/haddock/html-test/ref/TH.html
</a>
</li>
<li class="file-stats">
<a href="#8e2f653f03346459856ffbc418a8a8e38813a4ad">
utils/haddock/html-test/ref/Threaded_TH.html
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: .875rem;">
The diff was not included because it is too large.
</h5>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #626168;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/ef8709e3fc15a55702e88b09971af1d20d0b8a95...a3112c2d507d07bdab98c1b2f7bb96dd052a3729">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.haskell.org">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
</p>
</div>
</body>
</html>