<!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;">
sheaf pushed to branch wip/T24359 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/ef0e6cfc4e348a8c598578052c5b24e2d685e91c">ef0e6cfc</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-17T19:20:09-05: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: Mark T23071 and T2047 as fragile on FreeBSD

These inexplicably fail on FreeBSD on CI. Sadly I am unable to reproduce
this locally but regardless this is holding up Marge so I will mark them
as fragile for now.

Addresses #25751.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7596675e470699f6184e13c08b268972028bc868">7596675e</a></strong>
<div>
<span> by Jens Petersen </span> <i> at 2025-02-18T08:53:08-05: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;'>hp2ps Utilities.c: include stdlib.h instead of extern malloc and realloc
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/975d932cb4cadecd879660fbcf845e6ba9ac2a52">975d932c</a></strong>
<div>
<span> by Rodrigo Mesquita </span> <i> at 2025-02-18T08:53:45-05: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 join points for rhs without free vars

While investigating #25170, we ran into a program (T16473) that allocated 67%
more because of a join point that failed to inline.

Note [Duplicating join points] explains why we want to be conservative
when inlining join points, using as an example a join point that
captures a free variable `f` that becomes available in the continuation
`blah` for further optimisations, as opposed to being lambda-abstracted.

However, when the RHS of the join point has no free variables and is
trivial, the same argument does not apply, and there's nothing to gain
from preserving it.

On the contrary, not inlining these trivial join points such as
    $j f x = K f x |> co
can be actively harmful as they prevent useful optimisations from firing
on the known constructor application. #25723 is such an example.

Therefore, we've extended `uncondInlineJoin` to allow duplicating such closed
trivial join points. See the updated Note [Duplicating join points] for
further details.

Additionally, merge the guards in uncondInlineJoin for point DJ3(b) anad DJ3(c) of
Note [Duplicating join points] to avoid an unnecessary traversal in the
call to `collectArgs`; it's also more uniform.

Co-authored-by: Simon Peyton Jones <simon.peytonjones@gmail.com>

Fixes #25723
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/78de1a55fe86d5c10ae6c71c68c53b786cf90d9a">78de1a55</a></strong>
<div>
<span> by M Farkas-Dyck </span> <i> at 2025-02-18T08:54:31-05: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;'>Scrub some partiality in `GHC.Tc.Gen.Match`.

In particular, we construct a list of the same length as another list, then loop over both and panic if their lengths are unequal. We can avoid this.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1dfe93253f8d96aa224a1eda7f5de201edf71a04">1dfe9325</a></strong>
<div>
<span> by M Farkas-Dyck </span> <i> at 2025-02-18T08:54:31-05: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 list of `ParStmtBlock` in `ParStmt` `NonEmpty`.

In the ParStmt constructor Language.Haskell.Syntax.Expr.StmtLR, the 2nd argument, the list of ParStmtBlocks, must be NonEmpty; make it so.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0e3575b5410b9fc2341c17451d8c616ebbe81721">0e3575b5</a></strong>
<div>
<span> by M Farkas-Dyck </span> <i> at 2025-02-18T08:54:31-05: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;'>GHC.Tc.Gen.Match: Added type signatures for `loop` functions.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c9ffcfeec2da8abee9456cd7c64e7c51fd01635e">c9ffcfee</a></strong>
<div>
<span> by sternenseemann </span> <i> at 2025-02-18T08:55:14-05: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;'>GHC: fix reference to function in Note [Target code interpreter]

As far as I could tell, setSessionDynFlags doesn't deal with hsc_interp.
Also added a backreference so this will be updated in the future.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ab77fc8c7adebd610aa0bd99d653f9a6cc78a374">ab77fc8c</a></strong>
<div>
<span> by sheaf </span> <i> at 2025-02-18T08:55:57-05: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;'>Account for skolem escape in mightEqualLater

This commit:

  1. Refactors checkTyEqRhs to allow it be called in pure contexts,
     which means it skips doing any on-the-fly promotion.
  2. Calls checkTyEqRhs in mightEqualLater to check whether it a
     MetaTv can unify with a RHS or whether that would cause e.g.
     skolem escape errors or concreteness errors.

Fixes #25744
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cb8a06a4d978196c88c30f096fa15020cf33c96f">cb8a06a4</a></strong>
<div>
<span> by Sylvain Henry </span> <i> at 2025-02-18T08:56:52-05: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 a bunch of Makefiles from old build system
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e12d6b3961adfa8cbb42d40262a1ee5cfaceb609">e12d6b39</a></strong>
<div>
<span> by M Farkas-Dyck </span> <i> at 2025-02-18T08:57:37-05: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;'>Totalize `GHC.HsToCore.Match.matchWrappers.initNablasGRHSs`.

Converting from `NonEmpty` to `[]` and back is totally needless.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cd2be3bec6ac1df225a556ab2077189c39b21012">cd2be3be</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-02-18T08:58:14-05: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;'>interpreter: Always print uniques for BCO_NAME labels

In the previous commit I omitted to include the unique, which still
makes it very difficult to trace back where the BCO came from.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c4e112fccd10ca745771dd81d2c1eb340aa8dd86">c4e112fc</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-02-18T08:58:51-05: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;'>interpreter: Fix overflows and reentrancy in statistics calculation

1. Use unsigned long for counter, as they can easily overflow if you are
   running a long benchmark.
2. Make interp_shutdown reentrant by copying the command frequency table
   into an array.

Fixes #25756
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/70ac6222a7285ecc6324097a68ba228664704e10">70ac6222</a></strong>
<div>
<span> by M Farkas-Dyck </span> <i> at 2025-02-18T14:22:06-08: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 `Foldable1` where appropriate, avoiding much needless panicking.

In some cases, where not readily feasible to modify code to use `NonEmpty`, merely use `expectNonEmpty` to make explicit we are panicking if we have an empty list.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a3f0a506040376a4910f799494bc23a56e1b6bdd">a3f0a506</a></strong>
<div>
<span> by Sylvain Henry </span> <i> at 2025-02-19T05:27:30-05: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: fix deprecation warning

> DeprecationWarning: 'count' is passed as positional argument
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ef5470a226dd8fe84df500a6a68672548624559e">ef5470a2</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-19T16:30:53+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;'>Cmm/Parser: Add surface syntax for Mul2 MachOps

These are otherwise very hard to test in isolation.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/59b9307b239f0e1058ccc90ca2fadb86552c0308">59b9307b</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-02-19T20:24:40-05: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: fix InternalCounters test with +debug_ghc

The `InternalCounters` test case fails when ghc is built with
`+debug_ghc`. This patch skips it in that case and allows the
testsuite to pass for the `+debug_ghc` flavour transformer.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/aa69187d45a5697507c1c609cebe15113c20f452">aa69187d</a></strong>
<div>
<span> by M Farkas-Dyck </span> <i> at 2025-02-19T20:25:31-05: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;'>Scrub a use of `head` in `GHC.Driver.Make.downsweep_imports.checkDuplicates`.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1c8e608a84b9d54abb352b59a592d4669872517e">1c8e608a</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-02-21T20:18:41-05: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;'>compiler: use fromAscList when applicable

This patch uses fromAscList (with O(n) complexity) instead of fromList
(with O(nlogn) complexity) in certain Binary instances. It's safe to
do so since the corresponding serialization logic is based on toList
(same as toAscList).
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/549e0aff175ba75ed1461563c0641837fd6aad78">549e0aff</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-21T20:19:18-05: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: Mark internal symbols as static

There is no reason why these should have external linkage.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fbf3d02073cbafa4fa22c080664c9773a420d876">fbf3d020</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-02-22T07:41:01-05: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;'>wasm: bump dyld v8 heap size limit

This patch sets `--max-old-space-size=65536` as wasm dyld shebang
arguments to lessen v8 heap pressure in certain workloads that load
the full ghc package. It doesn't really commit 64G memory but it does
help reduce v8 gc overhead.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cb60da245b2fea7a0c39af0e58f9ef89104a9255">cb60da24</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-02-22T07:41:01-05: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;'>wasm: fix dyld for shared libraries created by llvm 20.x

This patch fixes wasm dyld script for shared libraries created by llvm
20.x. The __wasm_apply_data_relocs function is now optional and may be
omitted for shared libraries without any runtime relocatable data
segments, so only call __wasm_apply_data_relocs when it's present.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7eea38c838c9d839e9efea0e6d9f79034e99fa4f">7eea38c8</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-02-22T07:41:37-05: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;'>driver: fix wasm backend sysroot lookup logic when -flto is passed

For the wasm target, the driver calls `wasm32-wasi-clang
--print-search-dirs` and finds the sysroot directory that contains
libc.so etc, then passes the directory path to dyld. However, when GHC
is configured with -flto as a part of C/C++ compiler flags, the clang
driver would insert a llvm-lto specific directory in the
--print-search-dirs output and the driver didn't take that into
account. This patch fixes it and always selects the non-lto sysroot
directory to be passed to dyld. This is one small step towards
supporting building all cbits with lto for wasm.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f3bfe31e6190d4161b0225e1e8bd0c8088f2c54d">f3bfe31e</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-02-23T14:06:25-05: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;'>wasm: add Note [Variable passing in JSFFI] as !13583 follow up

This patch adds a note to explain how the magic variables like
`__ghc_wasm_jsffi_dyld` are brought into scope of JSFFI code snippets,
as follow up work of !13583.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c318be56f69eb87f1cbb219dd660f09498857ece">c318be56</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-02-23T14:07:02-05: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;'>libffi: update to 3.4.7

Bumps libffi submodule.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f8df1cc8b9837ffd46f9bf662fa7142489752944">f8df1cc8</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-02-24T11:03:37+01: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;'>Specialising expressions -- at last

This MR addresses #24359, which implements the GHC proposal 493 on SPECIALISE pragmas.

* The old code path (using SpecSig and SpecPrag) still exists.
* The new code path (using SpecSigE and SpecPragE) runs alongside it.
* All SPECIALISE pragmas are routed through the new code path, except
  if you give multiple type sigs, when the old code path is still used.
* Main documentation: Note [Handling new-form SPECIALISE pragmas] in
  GHC.Tc.Gen.Sig`

Thanks to @sheaf for helping with this MR.

The Big Thing is to introduce

  {-# SPECIALISE forall x.  f @Int x True #-}

where you can give type arguments and value argument to specialise; and
you can quantify them with forall, just as in Rules.

I thought it was going to be pretty simple, but it was a Long, Long Saga.

Highlights

* Overview Note [Handling new-form SPECIALISE pragmas] in GHC.Tc.Gen.Sig
  - New data constructor `SpecSigE` in data type `L.H.S.Binds.Sig`
  - New data construtor `SpecPragE` in data type `GHC.Hs.Binds.TcSpecPrag`
  - Renamer: uses `checkSpecESigShape` to decide which function to assocate the
             SPECIALISE pragma with
  - Some of the action is in `GHC.Tc.Gen.Sig.tcSpecPrag`
  - The rest is in `GHC.HsToCore.Binds.dsSpec`

* All of GHC.Tc.Gen.Rule is moved into GHC.Tc.Gen.Sig, because the code is
  very closely related.

* The forall'd binders for SPECIALISE are the same as those for a RULE, so I
  refactored, introducing data type `L.H.S.Binds.RuleBndrs`, with functions
  to rename, zonk, typecheck it.  I refactored this data type a bit; nicer now.

* On the LHS of RULES, or SPECIALISE, we want to disable the tricky mechanims
  described in Note [Desugaring non-canonical evidence] in GHC.HsToCore.Expr.
  Previously it wasn't fully disabled (just set to the empty set), and that
  didn't quite work in the new regime.

* There are knock-on changes to Template Haskell.

* For the LHS of a RULE and a SPECIALISE expression, I wanted to simplify
  it /without/ inlining the let-bindings for evidence variables.  I added
  a flag `so_inline` to the SimpleOpt optimiser to support this.  The
  entry point is `GHC.Core.SimpleOpt.simpleOptExprNoInline`

* Since forever we have had a hack for type variables on the LHS of
  RULES. I took the opportunity to tidy this up.  The main action is
  in the zonker.  See GHC.Tc.Zonk.Type Note [Free tyvars on rule LHS],
  and especially data construtor `SkolemiseFlexi`
  in data type `GHC.Tc.Zonk.Env.ZonkFlexi`

* Move `scopedSort` from GHC.Core.TyCo.FVs to GHC.Core.Predicate
  Reason: it now works for Ids as well, and I wanted to use isEvVar,
          which is defined in GHC.Core.Predicate
  Avoiding module loops meant that instead of exporting GHC.Core.TyCo.Tidy
  from GHC.Core.Type, modules now import the former directly.

  I also took the opportunity to remove unused exports
  from GHC.Core.Type.hs-boot

* Flag stuff:
  - Add flag `-Wdeprecated-pragmas` and use it to control the warning when
    using old-style SPECIALISE pragmas with multiple type ascriptions,

  - Add flag `-Wuseless-specialisations` and use it to control the warning emitted
    when GHC determines that a SPECIALISE pragma would have no effect. Don't
    want if the SPECIALISE is SPECIALISE INLINE (#4444)

    In response to #25389, we continue to generate these seemingly code for these
    seemingly useless SPECIALISE pragmas

  - Adds deprecations to Template Haskell `pragSpecD` and `pracSpecInlD`,

* Split up old-style SPECIALISE pragmas in GHC.Internal.Float,
  GHC.Internal.Numeric, GHC.Internal.Real

* Remove useless SPECIALISE pragmas in Data.Array (updating the array submodule)

Smaller things:

- Update the Users Guide

- Add mention of the changes to the 9.14 release notes as well as
  the Template Haskell changelog,
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f08c9f784626e529142f0dc496875651c344ceef">f08c9f78</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-02-24T11:03:39+01: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;'>Warn about rules that previously quantified over equalities
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/45d47dcedd351629a1cf43aab561f0966131d50d">45d47dce</a></strong>
<div>
<span> by sheaf </span> <i> at 2025-02-24T11:03:39+01: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 -Wrule-lhs-equalities warning

This commit adds a new warning flag, -Wrule-lhs-equalities, which
controls the warning message that is emitted when the LHS of a RULE
gives rise to equality constraints that previous GHC versions would
have quantified over.

GHC instead discards such RULES, as GHC was never able to generate
a rule template that would ever fire; it's better to be explicit about
the fact that the RULE doesn't work.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/da682de0e60d132c0dec61b70f0d9db25ef1eda9">da682de0</a></strong>
<div>
<span> by sheaf </span> <i> at 2025-02-24T11:03:39+01: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;'>New plan from Feb 10
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
234 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#d0d96a6d03668aeab20ebe05e2c4ccb798c7e64c">
compiler/GHC.hs
</a>
</li>
<li class="file-stats">
<a href="#06764eb0158306b83ab1998d18316392a51838c2">
compiler/GHC/Builtin/Names/TH.hs
</a>
</li>
<li class="file-stats">
<a href="#ce3e6c3976a2c771e1f01be5b4d9258d925a29fb">
compiler/GHC/Builtin/PrimOps/Ids.hs
</a>
</li>
<li class="file-stats">
<a href="#4fbb1c5f251c38fc01fcde693420ee6d02df7e45">
compiler/GHC/Cmm/Dataflow/Label.hs
</a>
</li>
<li class="file-stats">
<a href="#92b713d88390e6ea489e24b6cff8a3960384c0d0">
compiler/GHC/Cmm/DebugBlock.hs
</a>
</li>
<li class="file-stats">
<a href="#066085df29cc928ac539d8feae6e5215cbbf1e14">
compiler/GHC/Cmm/LayoutStack.hs
</a>
</li>
<li class="file-stats">
<a href="#71e696f452eb493722d70306c6f304fc9b2f6a95">
compiler/GHC/Cmm/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#15f05722ace95c21dadbebc584821be195ddb2fc">
compiler/GHC/CmmToAsm/Reg/Graph/Base.hs
</a>
</li>
<li class="file-stats">
<a href="#3aba9ceb20d68f25343fe3a27b2b7a4f8fea68da">
compiler/GHC/CmmToAsm/Reg/Graph/SpillClean.hs
</a>
</li>
<li class="file-stats">
<a href="#18fcc4c56813c879ea69a2e6b2bdf6b09dd037c5">
compiler/GHC/CmmToAsm/Reg/Graph/SpillCost.hs
</a>
</li>
<li class="file-stats">
<a href="#2bae5947e9412f6deebf4db7dcb89d780913130f">
compiler/GHC/CmmToAsm/X86/CodeGen.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="#91648438362e5a35363d2bb7abb04016dedd7d7e">
compiler/GHC/Core/FamInstEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#5596bb0f228bd2a308c4391df97375ae879430a8">
compiler/GHC/Core/InstEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#36a42448a83a9d1f6df8475f03ead2eed199dd8e">
compiler/GHC/Core/Lint.hs
</a>
</li>
<li class="file-stats">
<a href="#35cff95f9f44690fc50b44bbe8ac3c554c7d5a5e">
compiler/GHC/Core/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#c3967bb9d3e8f5aae2dd111b5a335b48c21c1999">
compiler/GHC/Core/Opt/Arity.hs
</a>
</li>
<li class="file-stats">
<a href="#446b4afbe6836b950115a619acea24ddde19dc90">
compiler/GHC/Core/Opt/CSE.hs
</a>
</li>
<li class="file-stats">
<a href="#8e28acdbf4d8c043c7e5d55af312d10b2d8f16de">
compiler/GHC/Core/Opt/CallArity.hs
</a>
</li>
<li class="file-stats">
<a href="#bac3d5159a5688007de3aa3f5c4e50569677b347">
compiler/GHC/Core/Opt/OccurAnal.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="#b6a5ba32bafb8fbda933538b3007e755fef6f101">
compiler/GHC/Core/Opt/SpecConstr.hs
</a>
</li>
<li class="file-stats">
<a href="#0ca1508e5b0cedec2f19fe10e414597184209573">
compiler/GHC/Core/Predicate.hs
</a>
</li>
<li class="file-stats">
<a href="#d01de95d8c71d4dec6a9a59146186e29a5b3fd38">
compiler/GHC/Core/Rules.hs
</a>
</li>
<li class="file-stats">
<a href="#11ffe98a94d798427bc600e4fcfe899407536346">
compiler/GHC/Core/SimpleOpt.hs
</a>
</li>
<li class="file-stats">
<a href="#846e2566b022c9a12a5978ac7934d5b019fbea5c">
compiler/GHC/Core/Tidy.hs
</a>
</li>
<li class="file-stats">
<a href="#039e8f5676356ef05c90af828aae48aac7296e47">
compiler/GHC/Core/TyCo/FVs.hs
</a>
</li>
<li class="file-stats">
<a href="#379343fa560df0c7451aa5a1dd4f074dd37924d0">
compiler/GHC/Core/TyCo/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#0b087d030078c501a74df752a832dd50836eb075">
compiler/GHC/Core/TyCo/Tidy.hs
</a>
</li>
<li class="file-stats">
<a href="#84c9d3ba34173297e7d7747e02caa2e004b164fc">
compiler/GHC/Core/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#a11863ba405cb13e5c25518fb7c6048b20e277f7">
compiler/GHC/Core/Type.hs-boot
</a>
</li>
<li class="file-stats">
<a href="#2811a7297b8aa206197ac1f5dabd0818e3c7ec5a">
compiler/GHC/Core/Unfold.hs
</a>
</li>
<li class="file-stats">
<a href="#89a2e0e1a3095c7a42b10f2819049908908080e8">
compiler/GHC/Core/Unify.hs
</a>
</li>
<li class="file-stats">
<a href="#1a7aba0daeafab195716dd25432479804a55ab60">
compiler/GHC/Core/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#bbf06eb5d4f0db7bc3213b84b9f5822710ff7be8">
compiler/GHC/CoreToIface.hs
</a>
</li>
<li class="file-stats">
<a href="#f6b10ac697fe369abe7874a54f53daf03f3b1d80">
compiler/GHC/Data/Graph/Inductive/Graph.hs
</a>
</li>
<li class="file-stats">
<a href="#e1364bb7e74900e9e55ac0971094dcebf348ad31">
<span class="new-file">
+
compiler/GHC/Data/List.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#6ec701430cdc4f89977822eb47ce98ebff95ee88">
compiler/GHC/Data/List/NonEmpty.hs
</a>
</li>
<li class="file-stats">
<a href="#b7b115d3575360d6e09fca92d3acd66eeb7b9560">
compiler/GHC/Data/Pair.hs
</a>
</li>
<li class="file-stats">
<a href="#0cfa18c0ec64f1546e30c0bd93e6607d52b81b26">
compiler/GHC/Driver/Config.hs
</a>
</li>
<li class="file-stats">
<a href="#c7700b61eaeb27e90fb2f1acc6cfd53ddaa4d690">
compiler/GHC/Driver/Env.hs
</a>
</li>
<li class="file-stats">
<a href="#2e5692f568fd7b67a6b172e2a60469da8392508c">
compiler/GHC/Driver/Flags.hs
</a>
</li>
<li class="file-stats">
<a href="#1dab250036d04cfcf3530f6ff27889f723cc2dda">
compiler/GHC/Driver/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#774d88050336ef660c7a219fb06c480c2fc639bc">
compiler/GHC/Driver/Session.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="#cc97d81e7223ad4a3a5e801156ca632f9fa75654">
compiler/GHC/Hs/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#9f00edfedb0f969865b049a78de3866545b4a60b">
compiler/GHC/Hs/Instances.hs
</a>
</li>
<li class="file-stats">
<a href="#9f8f154268a51dc39e1f608e6d9845fdae82d480">
compiler/GHC/Hs/Stats.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="#65e2067fbb7377818b6cadff0531f44029499948">
compiler/GHC/HsToCore/Binds.hs
</a>
</li>
<li class="file-stats">
<a href="#cf4176c2d1c1c5ac2d46a9fa5fe02a24bc407c3c">
compiler/GHC/HsToCore/Errors/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#6eaba7424490cb26d74e0dab0f6fd7bc3537dca7">
compiler/GHC/HsToCore/Errors/Types.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="#912bb8ed70a132c8eb2e037f8c9ecb045d2c229c">
compiler/GHC/HsToCore/ListComp.hs
</a>
</li>
<li class="file-stats">
<a href="#085703923f9c18f6ac9f926ac9a4c7c7e6d9d9ed">
compiler/GHC/HsToCore/Match.hs
</a>
</li>
<li class="file-stats">
<a href="#f017e4c978a9ff341ce5a7b838787fd2a4758b59">
compiler/GHC/HsToCore/Match/Literal.hs
</a>
</li>
<li class="file-stats">
<a href="#c8a27621f82549165d8946ae8e9f467660958059">
compiler/GHC/HsToCore/Monad.hs
</a>
</li>
<li class="file-stats">
<a href="#9095b3c5485a1f2f18a0a43346b7a49dfdd1f65d">
compiler/GHC/HsToCore/Pmc/Solver.hs
</a>
</li>
<li class="file-stats">
<a href="#3c19c0be465f9a28d7b69f89c55648080fcc37eb">
compiler/GHC/HsToCore/Quote.hs
</a>
</li>
<li class="file-stats">
<a href="#b2fd0f5f3e0bc9dcc507931c0b7388bf10e925c2">
compiler/GHC/HsToCore/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#94864be2e2eb1959a038d5d903a6c784e5cfb32a">
compiler/GHC/HsToCore/Utils.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="#d11203a9321005ba51a16d751c86f609d1f18c71">
compiler/GHC/Iface/Tidy.hs
</a>
</li>
<li class="file-stats">
<a href="#a87ee0fc1210e74075a669ea928f16ff8e2d708d">
compiler/GHC/JS/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#bf951467d4a9aa443cb109cb4c84a2891945649b">
compiler/GHC/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#b1092d2df4ded3655524830252278016d6aa5afd">
compiler/GHC/Parser/Annotation.hs
</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="#4d8273ba28c075a67472025c43e27991bd8f25f6">
compiler/GHC/Prelude/Basic.hs
</a>
</li>
<li class="file-stats">
<a href="#af762064d779f7308dd415966c974f27d14f9943">
compiler/GHC/Rename/Bind.hs
</a>
</li>
<li class="file-stats">
<a href="#b47ece2bbb8303a5792c2fdc52394c8ed336e8a2">
compiler/GHC/Rename/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#892acbb198a9095c917740d3c1297b56df4e3b7e">
compiler/GHC/Rename/HsType.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="#939d24c1002dc322659c1f67c9f3d2db2ae31dd4">
compiler/GHC/Rename/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#8354467a9f7f92c6aafb2f9edbc73a0cdbeeec3c">
compiler/GHC/Runtime/Debugger.hs
</a>
</li>
<li class="file-stats">
<a href="#173c7eb846a4e9b5fee79688a72cbf6a326e4e1e">
compiler/GHC/Runtime/Eval.hs
</a>
</li>
<li class="file-stats">
<a href="#8858278b4cb7284f96b29b5564bcb426de4fae70">
compiler/GHC/Runtime/Heap/Inspect.hs
</a>
</li>
<li class="file-stats">
<a href="#657eec52eed3c8be846a0b60eb6088d5f465de8a">
compiler/GHC/Stg/Lift/Analysis.hs
</a>
</li>
<li class="file-stats">
<a href="#1522139eef391430974e254694d2feec1d43d85a">
compiler/GHC/StgToByteCode.hs
</a>
</li>
<li class="file-stats">
<a href="#7b3ca11b848c39ab65628e324180feb03c61a091">
compiler/GHC/StgToCmm/Layout.hs
</a>
</li>
<li class="file-stats">
<a href="#d12a108e34fe83acc9c99357ae841e22a0af0a23">
compiler/GHC/StgToCmm/Prim.hs
</a>
</li>
<li class="file-stats">
<a href="#d8f42268b4be6e47d85a5c59c6797430b4672dc6">
compiler/GHC/StgToJS/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#b768fdf8e0594bf98104ef18145fc9f16550bc06">
compiler/GHC/Tc/Deriv.hs
</a>
</li>
<li class="file-stats">
<a href="#134bd468c04c1bc43429f10f08db3962e9c56a70">
compiler/GHC/Tc/Deriv/Functor.hs
</a>
</li>
<li class="file-stats">
<a href="#3aa56839e36b2219f9ad54f5646ef3005da9c672">
compiler/GHC/Tc/Deriv/Generate.hs
</a>
</li>
<li class="file-stats">
<a href="#9d443f31ae0d9b50820b43d5014e8e71ad7dfb02">
compiler/GHC/Tc/Deriv/Generics.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="#83f745d921da7adb739e81f83e1c07e723e4a789">
compiler/GHC/Tc/Gen/Bind.hs
</a>
</li>
<li class="file-stats">
<a href="#b18f1cc437ab64ccd37a7cae3b8c3f9071aef45e">
compiler/GHC/Tc/Gen/Default.hs
</a>
</li>
<li class="file-stats">
<a href="#9355bef855426caf5f526925edf351b20f9a86c4">
compiler/GHC/Tc/Gen/HsType.hs
</a>
</li>
<li class="file-stats">
<a href="#3377164bfe9a1f1a8cfd588703ae1e0ea1e91cf9">
compiler/GHC/Tc/Gen/Match.hs
</a>
</li>
<li class="file-stats">
<a href="#04338da99bccd89402218ca19c5724762f0fe641">
<span class="deleted-file">

compiler/GHC/Tc/Gen/Rule.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#eade747fa0a15693c67617629e286714fce958e4">
compiler/GHC/Tc/Gen/Sig.hs
</a>
</li>
<li class="file-stats">
<a href="#e65390fa5a32c453a81a1c9a3e1c4464d155ca4a">
compiler/GHC/Tc/Module.hs
</a>
</li>
<li class="file-stats">
<a href="#54436e21ea530a66a8a71bcc01c836f4740b8f02">
compiler/GHC/Tc/Solver.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="#b97557795e2f14fc492ff8c685b149c247b5e480">
compiler/GHC/Tc/Solver/InertSet.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="#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="#3b6d78a50c8462304f843b952a88e531718dbbd2">
compiler/GHC/Tc/Types/Constraint.hs
</a>
</li>
<li class="file-stats">
<a href="#46e7b59eca287d43c19d0d8902b41f5d04f0d268">
compiler/GHC/Tc/Types/Evidence.hs
</a>
</li>
<li class="file-stats">
<a href="#93bba9b9e0195db135fec54160523a427ea042fd">
compiler/GHC/Tc/Types/Origin.hs
</a>
</li>
<li class="file-stats">
<a href="#59d42d45d27a766c3ef299d73c226697153b7f6e">
compiler/GHC/Tc/Utils/Instantiate.hs
</a>
</li>
<li class="file-stats">
<a href="#94c96afe1bb3b771ffbcfeeca34ce43ebbe76ccb">
compiler/GHC/Tc/Utils/TcMType.hs
</a>
</li>
<li class="file-stats">
<a href="#74295edeac870ee7f2f3484ebaffab5c948b735a">
compiler/GHC/Tc/Utils/Unify.hs
</a>
</li>
<li class="file-stats">
<a href="#1db07ed8cd9bab6b217a8f5a140176d3cb8672fd">
compiler/GHC/Tc/Validity.hs
</a>
</li>
<li class="file-stats">
<a href="#b198fb7c8791e079350222d110025a59d3933c7d">
compiler/GHC/Tc/Zonk/Env.hs
</a>
</li>
<li class="file-stats">
<a href="#cf6d0ddc7f180b42a67a71e31b214052088685f7">
compiler/GHC/Tc/Zonk/TcType.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="#166e3514d27c63ef7e86af29830d9e8b2a31c8b1">
compiler/GHC/Types/Basic.hs
</a>
</li>
<li class="file-stats">
<a href="#d09e98aae6ad2eb59d08eac7894b68c0ab820cda">
compiler/GHC/Types/Demand.hs
</a>
</li>
<li class="file-stats">
<a href="#e2c828ee9e003df518a07b05beaa6971e5c62eb0">
compiler/GHC/Types/Error/Codes.hs
</a>
</li>
<li class="file-stats">
<a href="#0d674271b5e602f8c38b813c8c42593afce96a1b">
compiler/GHC/Types/Hint.hs
</a>
</li>
<li class="file-stats">
<a href="#5543c5c6c25dc2d751debfc3bc1be17365251351">
compiler/GHC/Types/Hint/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#8905161187cfddae9e9ece36910196e521651b00">
compiler/GHC/Types/Name.hs
</a>
</li>
<li class="file-stats">
<a href="#5dac619989e8509003cf7b463c100f5cc56072a3">
compiler/GHC/Types/Var.hs
</a>
</li>
<li class="file-stats">
<a href="#f4993649301794fc2c8cdece491d8b20f37638a6">
compiler/GHC/Unit/Finder.hs
</a>
</li>
<li class="file-stats">
<a href="#8e2fd61802dbf01ed3619fa8bab9f6f81df3de08">
compiler/GHC/Unit/Module/Graph.hs
</a>
</li>
<li class="file-stats">
<a href="#f35faa85de2e0a75cdaa452eb7336a09c677d450">
compiler/GHC/Utils/Binary.hs
</a>
</li>
<li class="file-stats">
<a href="#4d45cd1896284e4b4034580e431af68b09013b33">
compiler/GHC/Utils/Misc.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="#a36a7299626a1a6ae3cf89e37bdd10e9bba4f852">
compiler/Language/Haskell/Syntax/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#55fd4da29695073f23c02f21476e753eb7c467b4">
compiler/Language/Haskell/Syntax/Extension.hs
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#3000f72e31f633a1742a9c76be14862281166b11">
docs/users_guide/9.14.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#878399d76e594ee2194b99baaccd7b67e9740bb1">
docs/users_guide/exts/pragmas.rst
</a>
</li>
<li class="file-stats">
<a href="#e16ae6db99f98868d3603a0c7df0bb6a793a330d">
docs/users_guide/using-warnings.rst
</a>
</li>
<li class="file-stats">
<a href="#f54a947920458c0f69edef64afc5514fe59c9e49">
libffi-tarballs
</a>
</li>
<li class="file-stats">
<a href="#9291b31007e89e8b38b9ca916cdad6f71073b937">
libraries/array
</a>
</li>
<li class="file-stats">
<a href="#1799b3e3e497a7a3adca086b46c1637c56ab02c0">
libraries/ghc-boot-th/GHC/Internal/TH/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#e06f432b89a0f51916ad045764ef964704ba13ca">
libraries/ghc-internal/src/GHC/Internal/Float.hs
</a>
</li>
<li class="file-stats">
<a href="#2f46402a3b7fd8e75b49946562a11617ea83797c">
libraries/ghc-internal/src/GHC/Internal/Numeric.hs
</a>
</li>
<li class="file-stats">
<a href="#453aa00bb9f6dd9fa92bfc87eb5783829b25e154">
libraries/ghc-internal/src/GHC/Internal/Real.hs
</a>
</li>
<li class="file-stats">
<a href="#000b1e763c4e401bf1b71920b9bb2a87a5f41be4">
libraries/ghc-internal/src/GHC/Internal/TH/Lib.hs
</a>
</li>
<li class="file-stats">
<a href="#661b43655578566ae0a6ab55b6f670b1de666aa5">
libraries/ghc-internal/src/GHC/Internal/TH/Syntax.hs
</a>
</li>
<li class="file-stats">
<a href="#4ba2f0376a3857da0c781f2a39ae648ec42663f8">
libraries/ghci/GHCi/ObjLink.hs
</a>
</li>
<li class="file-stats">
<a href="#556b3bb7c75dfe37155d079195cb9671e3061783">
libraries/template-haskell/Language/Haskell/TH/Lib.hs
</a>
</li>
<li class="file-stats">
<a href="#ee61d093f9c845475278836990fdde8877a1de02">
libraries/template-haskell/changelog.md
</a>
</li>
<li class="file-stats">
<a href="#539d43389593f2626a387f2c904f03c215c7c802">
rts/Interpreter.c
</a>
</li>
<li class="file-stats">
<a href="#f4db9593d88d3c951505379e54f3db74f49ae142">
rts/linker/MachO.c
</a>
</li>
<li class="file-stats">
<a href="#c591f85f122007bac88228c5ff6fd76b40e6a811">
testsuite/driver/testlib.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="#d6126952bcecd01336f59915fe0e1b06e94a397d">
<span class="new-file">
+
testsuite/tests/deSugar/should_compile/T10251.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#2937d23144454625b5830e39f20bc1cede74d24e">
testsuite/tests/diagnostic-codes/codes.stdout
</a>
</li>
<li class="file-stats">
<a href="#5ff2ade90c007a336603fdf2c260560031a87873">
testsuite/tests/ghc-api/T18522-dbg-ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#2576d273556f3c6af6a44c20f26fdce3e3bbc9ec">
testsuite/tests/interface-stability/template-haskell-exports.stdout
</a>
</li>
<li class="file-stats">
<a href="#9205abed1bfea7ab65bcd406191b7f7cb5861965">
testsuite/tests/parser/should_compile/OpaqueParseWarn1.stderr
</a>
</li>
<li class="file-stats">
<a href="#1c385de51b1eb9216a854c05a624b3da39015931">
testsuite/tests/parser/should_fail/T7848.stderr
</a>
</li>
<li class="file-stats">
<a href="#1ecfd1a8bd816625b0c7fe96fe152053b40380b0">
<span class="new-file">
+
testsuite/tests/perf/compiler/T25723.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#c07ccf6917057363a22505aa43f5cfce78484f50">
<span class="new-file">
+
testsuite/tests/perf/compiler/T25723.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#fd4a0b65d74153aed8b33b01a04eb3ff7442cd45">
testsuite/tests/perf/compiler/all.T
</a>
</li>
<li class="file-stats">
<a href="#98e52aadad6ed0677c8e810ba5f46030fd516bdd">
testsuite/tests/primops/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#5ced844c5529162410276a1236ca9b8e7186490c">
testsuite/tests/rts/all.T
</a>
</li>
<li class="file-stats">
<a href="#356481640786c687ec1202fdfd7ff930398b6a8b">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/DsSpecPragmas.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#9c415e130172b47cbedcb14c19f602336a1864e6">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/DsSpecPragmas.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#a2d3921bd6d77c18421a1b87c95f3b1076633000">
testsuite/tests/simplCore/should_compile/T12603.stdout
</a>
</li>
<li class="file-stats">
<a href="#9919130b592f579ef1d69cf7e5576144fffa293f">
testsuite/tests/simplCore/should_compile/T15445.stderr
</a>
</li>
<li class="file-stats">
<a href="#ec63b73f137bc3ec46726e4db7f742921ccacb7b">
testsuite/tests/simplCore/should_compile/T24229a.stderr
</a>
</li>
<li class="file-stats">
<a href="#bfd702f25075978900d47a593f50fc362089eb31">
testsuite/tests/simplCore/should_compile/T24229b.stderr
</a>
</li>
<li class="file-stats">
<a href="#544f7c95de41d94573f8f8a31ebe56de488637a7">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T24359a.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#4f01fa49b10fd0eeb72875e73e4f243518644dc7">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T24359a.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#32fcae3cd84d603814eff047af76ee741fa06b13">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T25389.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#01bf3a4980f9cfb5245388f17cb94dd8c2a0ba5b">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T25389.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#27c31f2c3be247d09e723ebba36f5ad88b700697">
testsuite/tests/simplCore/should_compile/T4398.stderr
</a>
</li>
<li class="file-stats">
<a href="#27b99033353852dac4824ab604a37bbdf2784314">
testsuite/tests/simplCore/should_compile/T5821.hs
</a>
</li>
<li class="file-stats">
<a href="#082a12d9e0d1a5d8a962b12687b72935ba17722f">
testsuite/tests/simplCore/should_compile/T8537.stderr
</a>
</li>
<li class="file-stats">
<a href="#f5ad8c193aca842d079a19e0928859dc7541cc4e">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T9578b.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#fc07c260b75644727a8cdc1af5c861a44d4bfb5e">
testsuite/tests/simplCore/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#4a8b62b95e4644cc3aad508044bea749892c4a05">
<span class="deleted-file">

testsuite/tests/simplCore/should_compile/simpl016.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#af79a1d4ddc6d730cda2c77cdceb1b86296b564c">
<span class="new-file">
+
testsuite/tests/simplCore/should_fail/T25117a.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#ee51be605526f809ff01ed3cc595e7d43c1d21e8">
<span class="new-file">
+
testsuite/tests/simplCore/should_fail/T25117a.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#8cd6b29590c9046d52031076bc568104c9148f40">
<span class="new-file">
+
testsuite/tests/simplCore/should_fail/T25117b.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#47a5b6c9d5034152d680c4f4609775939c97628e">
<span class="new-file">
+
testsuite/tests/simplCore/should_fail/T25117b.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="#7fa7beba142e44e1a9b152837044dc81220361fe">
<span class="new-file">
+
testsuite/tests/simplCore/should_run/T24359b.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#4bb4a9f27e0b5fa6ccd4f9f5aa17ae46d7c53e4c">
<span class="new-file">
+
testsuite/tests/simplCore/should_run/T24359b.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#03e40b9006a3cfc01e112fe32513b15c8634f9bc">
testsuite/tests/simplCore/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#030769974d97e3e8dcbaaf362266b1c714f3f5e7">
<span class="new-file">
+
testsuite/tests/th/EmptyParStmt.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#12730b7a2b1665d7dc4311fc944234a28bb6e732">
<span class="new-file">
+
testsuite/tests/th/EmptyParStmt.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#789f252e5d9fef06f38d25ac1ba2f4f396b7d532">
<span class="new-file">
+
testsuite/tests/th/T13123.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#7afd261b4f98012d26b67543772cadb4a07e56db">
testsuite/tests/th/T19363.stdout
</a>
</li>
<li class="file-stats">
<a href="#e39b1eb9b9504771f26cb874591754e5f72cd6a3">
testsuite/tests/th/T7064.stdout
</a>
</li>
<li class="file-stats">
<a href="#c66270bf88a56b88d7475070c60ae85377c0bc06">
testsuite/tests/th/TH_pragma.hs
</a>
</li>
<li class="file-stats">
<a href="#a39ad51941f25950f8b263aff776f79d4153f682">
testsuite/tests/th/TH_pragma.stderr
</a>
</li>
<li class="file-stats">
<a href="#6f885f60b8c0fea6b94dd73a67d02212eedb4498">
testsuite/tests/th/all.T
</a>
</li>
<li class="file-stats">
<a href="#ed07fb9a97ce46bf7f87c029813a0c47cef396bc">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/RuleEqs.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#3a898a401e822ab63b063bcc8e11e0836f338461">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/RuleEqs.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#d63c4891093aa14f4b9ac7772bc1fd00be8b0b8b">
testsuite/tests/typecheck/should_compile/T10504.stderr
</a>
</li>
<li class="file-stats">
<a href="#abe5d23f2e9d5b9add38861dda66e5c654b68288">
testsuite/tests/typecheck/should_compile/T2494.stderr
</a>
</li>
<li class="file-stats">
<a href="#c486bebba094e3b81a41ae306fb2e6eef8417763">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/T25744.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#26e119060f3785448d69b065a3a4b3f6f8732fa5">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/TcSpecPragmas.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#1343f9a30829f94920112bd84aa75c992e145598">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/TcSpecPragmas.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#34fe7bf0e6fbf60effb28393399ba68666593909">
testsuite/tests/typecheck/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#b12c7a698226a356b2212dbea9a75d9ad9747a19">
testsuite/tests/typecheck/should_compile/tc186.hs
</a>
</li>
<li class="file-stats">
<a href="#67d05581472252041e60d191932eb7424879d22d">
testsuite/tests/typecheck/should_compile/tc212.hs
</a>
</li>
<li class="file-stats">
<a href="#2ef0fea1fdddb0ac774ffa8891ba7d610fda164b">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/SpecPragmasFail.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#add8242e4daa8c69ac2b6284d5e12144c5aab3b3">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/SpecPragmasFail.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#b90469d42dc3fbd91171a499f33a5241c3c1bf87">
testsuite/tests/typecheck/should_fail/T5853.stderr
</a>
</li>
<li class="file-stats">
<a href="#a0794e0113c0c80aedb2fa23ac8d66af113681e5">
<span class="new-file">
+
testsuite/tests/warnings/should_compile/SpecMultipleTys.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#9d063b41a9f2ec985c8a11faff01c624934d15bc">
<span class="new-file">
+
testsuite/tests/warnings/should_compile/SpecMultipleTys.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#9ea9142f2d82f68fc42004949a740027ba8ba1f6">
testsuite/tests/warnings/should_compile/T19296.stderr
</a>
</li>
<li class="file-stats">
<a href="#41a913dca0020ecd1ca28a364e1f9aa46db04c5a">
testsuite/tests/warnings/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#688fd47750a98395a49436f2b3b3a3a92ebd5376">
<span class="new-file">
+
testsuite/tests/warnings/should_fail/SpecEMultipleTys.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#201b356a3454ffee1044d9bdf62504605696cc45">
<span class="new-file">
+
testsuite/tests/warnings/should_fail/SpecEMultipleTys.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#732485a54152776a838c9685ab79f0d1e1b48c1a">
testsuite/tests/warnings/should_fail/all.T
</a>
</li>
<li class="file-stats">
<a href="#c5662bedafa6a48ec7062b131d94b70f514207d9">
utils/check-exact/ExactPrint.hs
</a>
</li>
<li class="file-stats">
<a href="#abc37b6a868b8b2ca63da0118f8dd9dfc8d52d65">
<span class="deleted-file">

utils/deriveConstants/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#5b33d91e9ad0cbac9b8592b5cb3a0bcdf087b824">
<span class="deleted-file">

utils/genprimopcode/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#8df48681868912e5fe09763f76e9816ed747629f">
<span class="deleted-file">

utils/ghc-pkg/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#b4eac0482440fa16f1156b85af7cdfdabc25af2f">
<span class="deleted-file">

utils/hp2ps/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#9bdeaf9266c66418289a1ef73605b26e0dcea8b2">
utils/hp2ps/Utilities.c
</a>
</li>
<li class="file-stats">
<a href="#1500fdc129e47fe1279323afae8e4e0f36c2cf35">
<span class="deleted-file">

utils/iserv/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#878239b741b4ae28066212456e912ca742627d80">
utils/jsffi/dyld.mjs
</a>
</li>
<li class="file-stats">
<a href="#b699c36d2c5246ddf5f3b40ccc89a50a492ba778">
utils/jsffi/post-link.mjs
</a>
</li>
<li class="file-stats">
<a href="#f0bba5fa03183fd341870b2b3bd2a6e4bf38f203">
<span class="deleted-file">

utils/remote-iserv/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#ab6d446092307ccddd82c4477aeccc90e3110b82">
<span class="deleted-file">

utils/runghc/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#36173922a93236a2be07a6ffba99186b781a875c">
<span class="deleted-file">

utils/unlit/Makefile
</span>
</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/c4c2a7f040a3b0f9f255c4df1d670150cc135c75...da682de0e60d132c0dec61b70f0d9db25ef1eda9">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>