<!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, "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, -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, -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/backports-9.6 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/48da24c95f227a6ae346b2e658b12b92f7d38e2a">48da24c9</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2023-05-18T16:00:10-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.875rem; color: #333238; position: relative; font-family: var(--default-mono-font, "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;'>Make GHC.Types.Id.Make.shouldUnpackTy a bit more clever

As #23307, GHC.Types.Id.Make.shouldUnpackTy was leaving money on the
table, failing to unpack arguments that are perfectly unpackable.

The fix is pretty easy; see Note [Recursive unboxing]

(cherry picked from commit 902f0730b4c50f39b7767a346be324c98bf7a8a6)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/74b8e5bd79957786b869183a19f747f2b73294a0">74b8e5bd</a></strong>
<div>
<span> by Alexis King </span> <i> at 2023-05-18T16:00:10-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.875rem; color: #333238; position: relative; font-family: var(--default-mono-font, "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;'>Use a uniform return convention in bytecode for unary results

fixes #22958

(cherry picked from commit d85ed900b271109185251cb0494d51048a4cf213)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4949111fb8acaa35bdefe47e0cb70f97c7d83602">4949111f</a></strong>
<div>
<span> by Alexis King </span> <i> at 2023-05-18T16:00:10-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.875rem; color: #333238; position: relative; font-family: var(--default-mono-font, "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;'>hadrian: Fix linker script flag for MergeObjects builder

This fixes what appears to have been a typo in !9530. The `-t` flag just
enables tracing on all versions of `ld` I’ve looked at, while `-T` is
used to specify a linker script. It seems that this worked anyway for
some reason on some `ld` implementations (perhaps because they
automatically detect linker scripts), but the missing `-T` argument
causes `gold` to complain.

(cherry picked from commit 59aa4676a49b4f9d09c1cd3cc3b47c3c54b6ed80)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/27086298c305088b5163af864c6aff3c6b9e4412">27086298</a></strong>
<div>
<span> by Krzysztof Gogolewski </span> <i> at 2023-05-18T16:00:10-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.875rem; color: #333238; position: relative; font-family: var(--default-mono-font, "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 coercion optimisation for SelCo (#23362)

setNominalRole_maybe is supposed to output a nominal coercion.
In the SelCo case, it was not updating the stored role to Nominal,
causing #23362.

(cherry picked from commit d683b2e5b91a39a2bf16796f5800f605a0281004)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5bd85c7d4d801c043bec3e60d3e1fff7bf5c7ff2">5bd85c7d</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2023-05-18T16:00:10-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.875rem; color: #333238; position: relative; font-family: var(--default-mono-font, "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;'>hadrian: Fix mention of non-existent removeFiles function

Previously Hadrian's bindist Makefile referred to a `removeFiles`
function that was previously defined by the `make` build system. Since
the `make` build system is no longer around, this function is now
undefined. Naturally, make being make, this appears to be silently
ignored instead of producing an error.

Fix this by rewriting it to `rm -f`.

Closes #23373.

(cherry picked from commit c6cf9433e3d41e239265eaeff0fd02e6b45d5427)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7607986e4d2dd41bf57823c2589d9bd735c95000">7607986e</a></strong>
<div>
<span> by sheaf </span> <i> at 2023-05-18T16:00:10-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.875rem; color: #333238; position: relative; font-family: var(--default-mono-font, "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;'>Don't panic in mkNewTyConRhs

This function could come across invalid newtype constructors, as we
only perform validity checking of newtypes once we are outside the
knot-tied typechecking loop.
This patch changes this function to fake up a stub type in the case of
an invalid newtype, instead of panicking.

This patch also changes "checkNewDataCon" so that it reports as many
errors as possible at once.

Fixes #23308

(cherry picked from commit c176ad1835ccfe55e2bde875b4a35e9d226ff657)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/eaadcaa7ca2b7bb1d4d214339092dd9e6df12a96">eaadcaa7</a></strong>
<div>
<span> by Ryan Scott </span> <i> at 2023-05-18T16:00:10-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.875rem; color: #333238; position: relative; font-family: var(--default-mono-font, "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 type variable substitution in gen_Newtype_fam_insts

Previously, `gen_Newtype_fam_insts` was substituting the type variable binders
of a type family instance using `substTyVars`, which failed to take type
variable dependencies into account. There is similar code in
`GHC.Tc.TyCl.Class.tcATDefault` that _does_ perform this substitution properly,
so this patch:

1. Factors out this code into a top-level `substATBndrs` function, and
2. Uses `substATBndrs` in `gen_Newtype_fam_insts`.

Fixes #23329.

(cherry picked from commit e8b72ff6e4aee1f889a9168df57bb1b00168fd21)
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#2f6f8d6d05acc04b08fff94df4b3996c65b87892">
compiler/GHC/ByteCode/Asm.hs
</a>
</li>
<li class="file-stats">
<a href="#073b107caa98ea426694eacd6c08b492801a51a0">
compiler/GHC/ByteCode/Instr.hs
</a>
</li>
<li class="file-stats">
<a href="#783e5dae6e86931f06700fc088fb7d48c8a07386">
compiler/GHC/Core/Coercion.hs
</a>
</li>
<li class="file-stats">
<a href="#84c9d3ba34173297e7d7747e02caa2e004b164fc">
compiler/GHC/Core/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#1522139eef391430974e254694d2feec1d43d85a">
compiler/GHC/StgToByteCode.hs
</a>
</li>
<li class="file-stats">
<a href="#aec24e3b6966335ef5c0aac97b5106fc67c6e5ea">
compiler/GHC/StgToCmm/Closure.hs
</a>
</li>
<li class="file-stats">
<a href="#3aa56839e36b2219f9ad54f5646ef3005da9c672">
compiler/GHC/Tc/Deriv/Generate.hs
</a>
</li>
<li class="file-stats">
<a href="#83d23a46bb6cdc8b1edc16f1fd2c8f5c53e2c9ca">
compiler/GHC/Tc/TyCl.hs
</a>
</li>
<li class="file-stats">
<a href="#7b7e8d821fd827b68e24dabab7f3d87a407c0f50">
compiler/GHC/Tc/TyCl/Build.hs
</a>
</li>
<li class="file-stats">
<a href="#dd8bbe6a21866e4f574f4796b7ad19de17564072">
compiler/GHC/Tc/TyCl/Class.hs
</a>
</li>
<li class="file-stats">
<a href="#261c0c5029eb34eb7436b087d77314f377ff8223">
compiler/GHC/Types/Id/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#9e40ce816c93f9c0eeee92bd3c4e5b3701e7679a">
hadrian/bindist/Makefile
</a>
</li>
<li class="file-stats">
<a href="#8bd0cdb0d6865e5c925e568039d3f701745c5093">
hadrian/src/Settings/Builders/SplitSections.hs
</a>
</li>
<li class="file-stats">
<a href="#87638814ef9de368050a20abe04776c25ee3f6cf">
rts/Disassembler.c
</a>
</li>
<li class="file-stats">
<a href="#539d43389593f2626a387f2c904f03c215c7c802">
rts/Interpreter.c
</a>
</li>
<li class="file-stats">
<a href="#1f366bc5cc9fea123d6a6ab6c25b1483994867d5">
rts/Printer.c
</a>
</li>
<li class="file-stats">
<a href="#6ca006a5d6dfdfdb97d0dd72db322e3f6eaa6214">
rts/StgMiscClosures.cmm
</a>
</li>
<li class="file-stats">
<a href="#59e234758c8d08a76d8fc8def079a71c134e7b20">
rts/include/rts/Bytecodes.h
</a>
</li>
<li class="file-stats">
<a href="#4f5d8a62e14906b85d22aa560fdb6d7c1bc2cb8e">
rts/include/stg/MiscClosures.h
</a>
</li>
<li class="file-stats">
<a href="#c92749c16370fd933e503c25b720aaf1883fada3">
<span class="new-file">
+
testsuite/tests/deriving/should_compile/T23329.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#398982f3a905416be80fcdeec2576efa353fdb0b">
<span class="new-file">
+
testsuite/tests/deriving/should_compile/T23329_M.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#e7bc29da08da2be1b3bd264c751322dc3e8c1905">
testsuite/tests/deriving/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#d925de917bc1dfec95e0f229998192e0e990923c">
<span class="new-file">
+
testsuite/tests/ghci/should_run/T22958a.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#84c4df47ac76ae6df8d38e03d87f2ca88aea7541">
<span class="new-file">
+
testsuite/tests/ghci/should_run/T22958a.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#8562477b4becd65facd70b09ad56a27f1383a184">
<span class="new-file">
+
testsuite/tests/ghci/should_run/T22958b.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#cf451fc9f6fd9348d2f72353dbc4d833f71a2def">
<span class="new-file">
+
testsuite/tests/ghci/should_run/T22958b.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#2adf5bbfc798c2d682060f7e514e2417532c2eab">
testsuite/tests/ghci/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#c51639450dce03c79f04b53871ff1963691097d7">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T23307.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#b8f70169459fed52238395e4e1fd8b9f129ad523">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T23307.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#5646dfe0ecd28480cb3198a13fe7b2a482ec2046">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T23307a.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/572b711a0d994361a06c0595dbe0698f16100481...eaadcaa7ca2b7bb1d4d214339092dd9e6df12a96">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>