<!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 wip/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/b9b3b00799d5d8ac489f2ca22528fa6bc39ec88d">b9b3b007</a></strong>
<div>
<span> by Matthew Craven </span> <i> at 2024-04-15T10:57:59-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 release notes entry for GHC proposal 575
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/26b6c7fdaf0ac6c5c68d76922c2339d0cfec6c6e">26b6c7fd</a></strong>
<div>
<span> by Matthew Craven </span> <i> at 2024-04-15T10:59:17-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;'>Users' guide: Fix base-ref links containing symbols
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f15a854ea3f5265b2dfca6a17519d316ff61fce0">f15a854e</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-04-21T09:59:45+01: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: Add additional comments field to AnnsModule

This is used in exact printing to store comments coming after the
`where` keyword but before any comments allocated to imports or decls.

It is used in ghc-exactprint, see
https://github.com/alanz/ghc-exactprint/commit/44bbed311fd8f0d053053fef195bf47c17d34fa7
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c8d25501884a6633b580bc1b347b7ca8f2d04fe6">c8d25501</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-04-21T10:41:35+01: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 comments in mkListSyntaxTy0

Also extend the test to confirm.

Addresses #24669, 1 of 4

(cherry picked from commit f07015858fd79dca41983dbf3a249dfecd8d2eea)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7d6ae7aa4def7131d281040e6b0e600f84cd1bb2">7d6ae7aa</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-04-21T11:39:48+01: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: Provide correct span for PatBind

And remove unused parameter in checkPatBind

Contributes to #24669

(cherry picked from commit c90c60390aa3949b400f26ee0534273c56e19005)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/640131560e6e305106f9ef22d8831f0597d2aac4">64013156</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-04-21T12:43:22+01: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 span for PatBuilderAppType

Include the location of the prefix @ in the span for InVisPat.

Also removes unnecessary annotations from HsTP.

Contributes to #24669

(cherry picked from commit 26036f96919b1a8b99715dd99724163012c719fc)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/898fcbd20a7ec5164bb37c33f1c909430200ea06">898fcbd2</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-04-21T13:49:41+01: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: Avoid duplicated comments in splice decls

Contributes to #24669

(cherry picked from commit 2f8e3a254a20f4573aec26fc85ab74b51d661472)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9f509a09f60707024cac6557f2b07c2e06bd9b23">9f509a09</a></strong>
<div>
<span> by Alan Zimmerman </span> <i> at 2024-04-21T15:32:17+01: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: Extend StringLiteral range to include trailing commas

This goes slightly against the exact printing philosophy where
trailing decorations should be in an annotation, but the
practicalities of adding it to the WarningTxt environment, and the
problems caused by deviating do not make a more principles approach
worthwhile.

(cherry picked from commit 00d3ecf0775c1a3f1ab8495e5e125f21d450394e)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/45cc30644076ae2a42145055a9a2c1f2865d5c0a">45cc3064</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2024-04-24T11:00:59-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;'>Merge remote-tracking branch 'origin/wip/az/ghc-9.10-backports-1' into HEAD
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d9cd4bde6d91541cb15215a6c77d643dce36ea08">d9cd4bde</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2024-04-24T11:01:34-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;'>ghc-internal: Fix mentions of ghc-internal in deprecation warnings

Closes #24609.

(cherry picked from commit 55eb8c98895308d2dd025f7bd64c0b80fce6ace3)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b8f9880cd009c7afc764a04ae5666f4ec8d815e3">b8f9880c</a></strong>
<div>
<span> by Zubin Duggal </span> <i> at 2024-04-24T11:01:34-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;'>driver: Make `checkHomeUnitsClosed` faster

The implementation of `checkHomeUnitsClosed` was traversing every single path
in the unit dependency graph - this grows exponentially and quickly grows to be
infeasible on larger unit dependency graphs.

Instead we replace this with a faster implementation which follows from the
specificiation of the closure property - there is a closure error if there are
units which are both are both (transitively) depended upon by home units and
(transitively) depend on home units, but are not themselves home units.

To compute the set of units required for closure, we first compute the closure
of the unit dependency graph, then the transpose of this closure, and find all
units that are reachable from the home units in the transpose of the closure.

(cherry picked from commit a933aff37992ea311a60be878379e7abf650e9fb)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6d6c26401395f3a8271131cc549fe754a42cb6f3">6d6c2640</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2024-04-24T11:01: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;'>template-haskell: Declare TH.Lib.Internal as not-home

Rather than `hide`.

Closes #24659.

(cherry picked from commit d7a3d6b5ee5e0c16af295579da3c54d8f0c37a05)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/88e31848408ad928a7b0becd64a7420fd09a2c27">88e31848</a></strong>
<div>
<span> by Teo Camarasu </span> <i> at 2024-04-24T11:01: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;'>Fix ghc API link in docs/index.html

This was missing part of the unit ID meaning it would 404.

Resolves #24674

(cherry picked from commit f30e4984fb048818051465698ef8e4e20dacb577)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1261ec2fc0db926357c9d5dbbc0a69a621902694">1261ec2f</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2024-04-24T11:01: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;'>Clone CoVars in CorePrep

This MR addresses #24463.  It's all explained in the new

   Note [Cloning CoVars and TyVars]

(cherry picked from commit 9d38bfa0c0f910208822579acaa999f87c2f8c65)
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#8ee6f6851986ea96987a52f1dbf39228c85c6032">
compiler/GHC/Core/TyCo/Subst.hs
</a>
</li>
<li class="file-stats">
<a href="#84c9d3ba34173297e7d7747e02caa2e004b164fc">
compiler/GHC/Core/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#a5d27de4e3111a69f69902c65ecf7b3379f7c49a">
compiler/GHC/CoreToStg/Prep.hs
</a>
</li>
<li class="file-stats">
<a href="#1dab250036d04cfcf3530f6ff27889f723cc2dda">
compiler/GHC/Driver/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#8713274c63262d62e38b64a0736583684d456379">
compiler/GHC/Hs.hs
</a>
</li>
<li class="file-stats">
<a href="#65ca06d51797ebf672a62bde6c00bcb9444e1425">
compiler/GHC/Hs/Binds.hs
</a>
</li>
<li class="file-stats">
<a href="#018be522bc4813b147a1525e4f96a7a493207d96">
compiler/GHC/Hs/Type.hs
</a>
</li>
<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="#2eac51f9871ca0c0698aa1fc7f79c05ef8fc4a49">
compiler/GHC/ThToHs.hs
</a>
</li>
<li class="file-stats">
<a href="#43e55b36c46cc29df237ddaadde0b3cf4db94fb2">
docs/index.html.in
</a>
</li>
<li class="file-stats">
<a href="#523e258f899a29c551e69a88115587d32ba73db1">
docs/users_guide/9.10.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#2c8c4ca2eac2ad8b108ae37fa1b91a9f7676ca1e">
docs/users_guide/conf.py
</a>
</li>
<li class="file-stats">
<a href="#2d11d70063aa1378e9323caad80c7d9116ef4520">
hadrian/src/Rules/Generate.hs
</a>
</li>
<li class="file-stats">
<a href="#3027bfdaa1a1d85f81dccd8e40b161d00b937755">
libraries/ghc-internal/src/GHC/Internal/Foreign/Marshal/Error.hs
</a>
</li>
<li class="file-stats">
<a href="#437c0adae195e47a9a47cc5fcc1ffc19d055ec80">
libraries/ghc-internal/src/GHC/Internal/List.hs
</a>
</li>
<li class="file-stats">
<a href="#97b63f699307e7a6d92425265508cfc9e963c336">
libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs
</a>
</li>
<li class="file-stats">
<a href="#ac45c8e03beeea8bbe38d1253ea37594d26b8e4a">
<span class="new-file">
+
testsuite/tests/core-to-stg/T24463.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#db5fa9ceaecf9949d2272ce2adeacddb61492974">
testsuite/tests/core-to-stg/all.T
</a>
</li>
<li class="file-stats">
<a href="#ebaa200ede054beb6bc4b6f2e35884c54fb91f8e">
<span class="new-file">
+
testsuite/tests/driver/multipleHomeUnits/mhu-perf/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#6b46d0bb8942478d69894597d89a0b8a73171368">
<span class="new-file">
+
testsuite/tests/driver/multipleHomeUnits/mhu-perf/Setup.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#d10924ca0998dce42d196b56287467722d3032fa">
<span class="new-file">
+
testsuite/tests/driver/multipleHomeUnits/mhu-perf/all.T
</span>
</a>
</li>
<li class="file-stats">
<a href="#ff7e158489319592a99b8346d647c11b4d69ec1b">
<span class="new-file">
+
testsuite/tests/driver/multipleHomeUnits/mhu-perf/genLargeHMU
</span>
</a>
</li>
<li class="file-stats">
<a href="#bf6946b7cae3138a47e9c170778f771ece33a467">
<span class="new-file">
+
testsuite/tests/driver/multipleHomeUnits/mhu-perf/mhu-perf.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#ebc0f6e3733fe075348f9485435df1d0ada36c5b">
testsuite/tests/ghc-api/exactprint/T22919.stderr
</a>
</li>
<li class="file-stats">
<a href="#c667b660d548272e27f44bf34c9a844c019bd6f7">
testsuite/tests/ghc-api/exactprint/Test20239.stderr
</a>
</li>
<li class="file-stats">
<a href="#a408de4f7dee511726d0f2f37a8d1f8ccff33307">
testsuite/tests/ghc-api/exactprint/ZeroWidthSemi.stderr
</a>
</li>
<li class="file-stats">
<a href="#002ac3d1b67a64e8aea422a8712ff6d42458235a">
testsuite/tests/haddock/should_compile_flag_haddock/T17544.stderr
</a>
</li>
<li class="file-stats">
<a href="#d0624eb2a076bdbe3f842da55a5579e29c6cabe2">
testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.stderr
</a>
</li>
<li class="file-stats">
<a href="#4caabe37afee285fec3f18b82331ba583cdb8460">
testsuite/tests/haddock/should_compile_flag_haddock/T24221.stderr
</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/667cb76bf9faf9974ee1ac0b544f588506bf9289...1261ec2fc0db926357c9d5dbbc0a69a621902694">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>