<!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: 0.875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px;
}
body {
font-family: var(--default-regular-font, "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,0.01) 0 0 1px; font-family: var(--default-regular-font, "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;">
Ben Gamari pushed to branch ghc-9.10 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: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b09cbad8f91f74f75399cf9b6a4295130ce9cd06">b09cbad8</a></strong>
<div>
<span> by Zubin Duggal </span> <i> at 2024-03-25T12:21:37-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Revert "Apply shellcheck suggestion to SUBST_TOOLDIR"

This reverts commit c82770f57977a2b5add6e1378f234f8dd6153392.

The shellcheck suggestion is spurious and results in SUBST_TOOLDIR being a
no-op. `set` sets positional arguments for bash, but we want to set the variable
given as the first autoconf argument.

Fixes #24542

Metric decreases because the paths in the settings file are now shorter,
so we allocate less when we read the settings file.

-------------------------
Metric Decrease:
    T12425
    T13035
    T9198
-------------------------

(cherry picked from commit 576f8b7ec292382aaa47fceab504b5abf4cc1f8a)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0d4ee209dfe53e5074d786487f531dabc36d561c">0d4ee209</a></strong>
<div>
<span> by Andrei Borzenkov </span> <i> at 2024-03-25T12:27:07-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Fix compiler crash caused by implicit RHS quantification in type synonyms (#24470)

(cherry picked from commit 7ea971d314c4eba59e12e94bf3eb8edb95fbfac5)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/688cb2ff94b001ce33211bd62d54200498b28f36">688cb2ff</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2024-03-25T12:28:00-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Revert "compiler: make genSym use C-based atomic increment on non-JS 32-bit platforms"

This reverts commit 615eb855416ce536e02ed935ecc5a6f25519ae16. It was
originally intended to fix #24449, but it was merely sweeping the bug
under the rug. 3836a110577b5c9343915fd96c1b2c64217e0082 has properly
fixed the fragile test, and we no longer need the C version of genSym.
Furthermore, the C implementation causes trouble when compiling with
clang that targets i386 due to alignment warning and libatomic linking
issue, so it makes sense to revert it.

(cherry picked from commit 39f3ac3e1b47e9fdac8fcf2d1edcc300a37deb82)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c5c19c14dccce74bf393feb9626c749c72325ba9">c5c19c14</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2024-03-25T12:28:01-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>compiler: fix out-of-bound memory access of genSym on 32-bit

This commit fixes an unnoticed out-of-bound memory access of genSym on
32-bit. ghc_unique_inc is 32-bit sized/aligned on 32-bit platforms,
but we mistakenly treat it as a Word64 pointer in genSym, and
therefore will accidentally load 2 garbage higher bytes, or with a
small but non-zero chance, overwrite something else in the data
section depends on how the linker places the data segments. This
regression was introduced in !11802 and fixed here.

(cherry picked from commit e6bfb85c842edca36754bb8914e725fbaa1a83a6)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/67defa84e8bb8d40836fdb5aee12d13cdc027d8c">67defa84</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-03-25T12:28:15-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>EPA: Fix regression discarding comments in contexts

Closes #24533

(cherry picked from commit 7da7f8f643f1bfc4aa034a731f2f85cda007b286)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/97afcca57a59084114e8d236fb50d7d7c465b5b0">97afcca5</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-03-25T12:28:31-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>EPA: Address more 9.10.1-alpha1 regressions from recent changes

Closes #24533
Hopefully for good this time

(cherry picked from commit bd8209eb8e447a5ae1d736f034f4a3986e0727f7)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/850fc30e2087e3095f81b2f66b80b0db9c40f71a">850fc30e</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-03-25T12:28:48-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>EPA: Clean up Exactprint helper functions a bit

- Introduce a helper lens to compose on `EpAnn a` vs `a` versions
- Rename some prime versions of functions back to non-prime
  They were renamed during the rework

(cherry picked from commit 5f27517687c711593a23f1c9e5bd09ad9ec22fa4)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/01a6a7172ff3dc3f990df8f55e906027a2436395">01a6a717</a></strong>
<div>
<span> by Vladislav Zavialov </span> <i> at 2024-03-25T12:29:02-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Type operators in promoteOccName (#24570)

Type operators differ from term operators in that they are lexically
classified as (type) constructors, not as (type) variables.

Prior to this change, promoteOccName did not account for this
difference, causing a scoping issue that affected RequiredTypeArguments.

  type (!@#) = Bool
  f = idee (!@#)      -- Not in scope: ‘!@#’  (BUG)

Now we have a special case in promoteOccName to account for this.

(cherry picked from commit da2a10ceab7498fbbd5723dee0393ce75f2bb562)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e5b111e9e3494b0da588d8136ac487d7a0387762">e5b111e9</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2024-03-25T12:29:15-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Expand untyped splices in tcPolyExprCheck

Fixes #24559

(cherry picked from commit 97a2bb1cdfa4b244a58374658aec6d48ce23a54a)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/222a5240df423c22c63f720cffb06a202f271021">222a5240</a></strong>
<div>
<span> by Andrei Borzenkov </span> <i> at 2024-03-25T12:29:27-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Fix TH handling in `pat_to_type_pat` function (#24571)

There was missing case for `SplicePat` in `pat_to_type_at` function,
hence patterns with splicing that checked against `forall->` doesn't work
properly because they fall into the "illegal pattern" case.

Code example that is now accepted:

  g :: forall a -> ()
  g $([p| a |]) = ()

(cherry picked from commit 6fafc51e9206abd62881131c282ec3b9e1584c5b)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c394cfa72daa51cfcf9b79dfbd567f0db8c9394f">c394cfa7</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2024-03-26T13:46:41-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Bump haddock submodule

Fixes #24485 by fixing the default hyperlinked sources URL pattern.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/337a5073e23fcb82e6b341ce083708e736c9ea89">337a5073</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2024-03-26T19:53:32-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Add build ordering edge for GHC.IO.Encoding.Iconv
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#bf951467d4a9aa443cb109cb4c84a2891945649b">
compiler/GHC/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#446cb12ca6cefaf1c6eb79b7db643632744263c7">
compiler/GHC/Parser/PostProcess.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="#902811828741e6bcd64702935bbb54edbbd070ef">
compiler/GHC/Tc/Gen/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#36920f1fa315563c590243b1b096096bc305ca70">
compiler/GHC/Tc/Gen/Head.hs
</a>
</li>
<li class="file-stats">
<a href="#9355bef855426caf5f526925edf351b20f9a86c4">
compiler/GHC/Tc/Gen/HsType.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="#f2129065036d0a54cc42c4f4dd88ab259d693f5a">
compiler/GHC/Tc/Gen/Splice.hs-boot
</a>
</li>
<li class="file-stats">
<a href="#e2c828ee9e003df518a07b05beaa6971e5c62eb0">
compiler/GHC/Types/Error/Codes.hs
</a>
</li>
<li class="file-stats">
<a href="#6816c5954a025bb59270f70d0a997e605585d801">
compiler/GHC/Types/Name/Occurrence.hs
</a>
</li>
<li class="file-stats">
<a href="#598aebb67cf4996e7c7414ec0bef247e3b5e0d73">
compiler/GHC/Types/Unique/Supply.hs
</a>
</li>
<li class="file-stats">
<a href="#15ca3d1c88cfd453d05185254dfdd48627a4de91">
compiler/cbits/genSym.c
</a>
</li>
<li class="file-stats">
<a href="#25be04a985822cf02f146bc1ce5fe8d48cd5436e">
libraries/base/src/GHC/IO/Encoding/Iconv.hs
</a>
</li>
<li class="file-stats">
<a href="#3169bd84b322b6c4846a90cdab9859fa7ec5f3f4">
m4/fp_settings.m4
</a>
</li>
<li class="file-stats">
<a href="#4afdc3da79634c15b8fbfb6e765dc12ea54bece7">
testsuite/tests/parser/should_compile/DumpSemis.stderr
</a>
</li>
<li class="file-stats">
<a href="#8465ee0589acb77b7361deb499153b8394526c76">
testsuite/tests/printer/Makefile
</a>
</li>
<li class="file-stats">
<a href="#8033b04a9e4ca00b113667346ad93205943f444b">
<span class="new-file">
+
testsuite/tests/printer/Test24533.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#8cb35be8f13ce47421a8f834d7262e0459fb7e5a">
<span class="new-file">
+
testsuite/tests/printer/Test24533.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#35bfc07528b480db3a1cbcd8fb7c7ce5eb6868b0">
testsuite/tests/printer/all.T
</a>
</li>
<li class="file-stats">
<a href="#a4b7f4077ee7be7b2be47c18d8e42f92dce846a9">
<span class="new-file">
+
testsuite/tests/th/T24559.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#d065aa54a3a505f69e84a84fb6a49aa1d61dd86c">
<span class="new-file">
+
testsuite/tests/th/T24571.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#6f885f60b8c0fea6b94dd73a67d02212eedb4498">
testsuite/tests/th/all.T
</a>
</li>
<li class="file-stats">
<a href="#ee7d235130f5f1822c569cb6018c732f831e4e10">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/T24470b.hs
</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="#90b341e83dccb85d5e83dd3740790e83ff0a7e3a">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/T24470a.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#02bf81ff0577b2fba36f6bf87e2c63c1ff4b6446">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/T24470a.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#b9e86d897a62509b0114d81d5e736630d6f68f43">
testsuite/tests/typecheck/should_fail/all.T
</a>
</li>
<li class="file-stats">
<a href="#8764c1858f7b22d340270b4504f31d72c025cb4e">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T24570.hs
</span>
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: 0.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: #737278;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/cf814fe982f42483c672802ce905350d99a85a35...337a5073e23fcb82e6b341ce083708e736c9ea89">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>