<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<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: -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: -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;">
Marge Bot pushed to branch wip/marge_bot_batch_merge_job
at <a href="https://gitlab.haskell.org/ghc/ghc" style="color: #1068bf;">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/0ac6042302219b162a23b85f637bcc8fa27fafaa" style="color: #1068bf;">0ac60423</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2022-10-18T03:34:47-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "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: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Fix GHCis interaction with tag inference.

I had assumed that wrappers were not inlined in interactive mode.
Meaning we would always execute the compiled wrapper which properly
takes care of upholding the strict field invariant.
This turned out to be wrong. So instead we now run tag inference even
when we generate bytecode. In that case only for correctness not
performance reasons although it will be still beneficial for runtime
in some cases.

I further fixed a bug where GHCi didn't tag nullary constructors
properly when used as arguments. Which caused segfaults when calling
into compiled functions which expect the strict field invariant to
be upheld.

Fixes #22042 and #21083

-------------------------
Metric Increase:
    T4801

Metric Decrease:
    T13035
-------------------------
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9ecd1ac03d9cd2eea8e2b50233a08fd3d9cca7c7" style="color: #1068bf;">9ecd1ac0</a></strong>
<div>
<span>by M Farkas-Dyck</span>
<i>at 2022-10-18T03:35:38-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "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: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Make `Functor` a superclass of `TrieMap`, which lets us derive the `map` functions.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f60244d7b24a595e9eb68ee3254bbe52fc00fdb8" style="color: #1068bf;">f60244d7</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2022-10-18T03:36:15-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "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: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>configure: Bump minimum bootstrap GHC version

Fixes #22245
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ba4bd4a48223bc9b215cfda138a5de9f99c87cdf" style="color: #1068bf;">ba4bd4a4</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2022-10-18T03:36:55-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "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: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Build System: Remove out-of-date comment about make build system

Both make and hadrian interleave compilation of modules of different
modules and don't respect the package boundaries. Therefore I just
remove this comment which points out this "difference".

Fixes #22253
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/779e235d2125acfdb8299c7ff52d4b5c50b0debb" style="color: #1068bf;">779e235d</a></strong>
<div>
<span>by Bodigrim</span>
<i>at 2022-10-18T05:09:04-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "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: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>More precise types for fields of OverlappingInstances and UnsafeOverlap in TcSolverReportMsg

It's clear from asserts in `GHC.Tc.Errors` that `overlappingInstances_matches`
and `unsafeOverlapped` are supposed to be non-empty, and `unsafeOverlap_matches`
contains a single instance, but these invariants are immediately lost afterwards
and not encoded in types. This patch enforces the invariants by pattern matching
and makes types more precise, avoiding asserts and partial functions such as `head`.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e3c48732ac3cee7861acfe219bf5a1251bf086c8" style="color: #1068bf;">e3c48732</a></strong>
<div>
<span>by sheaf</span>
<i>at 2022-10-18T05:09:04-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "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: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Rename unsafeOverlap_matches -> unsafeOverlap_match in UnsafeOverlap</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3b868b61b15cc057b4b43aae6da3185539299750" style="color: #1068bf;">3b868b61</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2022-10-18T05:09:05-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "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: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Add SpliceTypes test for hie files

This test checks that typed splices and quotes get the right type
information when used in hiefiles.

See #21619
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#4fbb1c5f251c38fc01fcde693420ee6d02df7e45" style="color: #1068bf;">
compiler/GHC/Cmm/Dataflow/Label.hs
</a>
</li>
<li class="file-stats">
<a href="#640612f2fdc707ac7ee74f4165a7b86f38aa6249" style="color: #1068bf;">
compiler/GHC/Core/Map/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#691eec62dc293d0881c314b38b7363dc88b44c59" style="color: #1068bf;">
compiler/GHC/Core/Map/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#87e780e9b5d14cf4e8a52bb125fc352fa8a1d4be" style="color: #1068bf;">
compiler/GHC/Data/TrieMap.hs
</a>
</li>
<li class="file-stats">
<a href="#30d5e1537ef6a53cd9a4db9ddfc40c09143cdbb3" style="color: #1068bf;">
compiler/GHC/Driver/GenerateCgIPEStub.hs
</a>
</li>
<li class="file-stats">
<a href="#9a679a2680ef6061397f1987091ea9f96ffe095d" style="color: #1068bf;">
compiler/GHC/Driver/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#b8e6af642e56019828828dc679683c04afb81867" style="color: #1068bf;">
compiler/GHC/Driver/Pipeline.hs
</a>
</li>
<li class="file-stats">
<a href="#64e68d52c0898049455e20b0d001ffe1dd07ff83" style="color: #1068bf;">
compiler/GHC/Driver/Pipeline/Execute.hs
</a>
</li>
<li class="file-stats">
<a href="#4ed0dc87b8bdd9324e8a181cff15caa104b9e58c" style="color: #1068bf;">
compiler/GHC/Iface/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#90a56cf7f130d66194a6a61cb5f372eb339ab111" style="color: #1068bf;">
compiler/GHC/Stg/CSE.hs
</a>
</li>
<li class="file-stats">
<a href="#7d90a9320eb9eef000085725b34bb266a8356953" style="color: #1068bf;">
compiler/GHC/Stg/InferTags.hs
</a>
</li>
<li class="file-stats">
<a href="#7416d04ebab1a8a3348914fe007cd7fe72b925d1" style="color: #1068bf;">
compiler/GHC/Stg/InferTags/Rewrite.hs
</a>
</li>
<li class="file-stats">
<a href="#2893dc4a92d467f29db3d14e970629ede2648145" style="color: #1068bf;">
compiler/GHC/Stg/InferTags/TagSig.hs
</a>
</li>
<li class="file-stats">
<a href="#6c6b170dad20b4eedb2e77f6777d30c062f9bcb1" style="color: #1068bf;">
compiler/GHC/Stg/Pipeline.hs
</a>
</li>
<li class="file-stats">
<a href="#1522139eef391430974e254694d2feec1d43d85a" style="color: #1068bf;">
compiler/GHC/StgToByteCode.hs
</a>
</li>
<li class="file-stats">
<a href="#daeb7938e7dd9dd74c3bb2eb94dbfba0218a88b7" style="color: #1068bf;">
compiler/GHC/StgToCmm/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#e4b9d5e9d2de37561bfd06a2c97a5c924a1bab76" style="color: #1068bf;">
compiler/GHC/Tc/Errors.hs
</a>
</li>
<li class="file-stats">
<a href="#1dd9c7a6bbc222c976a6ec1c4b772232ae60f7e5" style="color: #1068bf;">
compiler/GHC/Tc/Errors/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#cdba811872892f235fe7059df1a6c538fba60816" style="color: #1068bf;">
compiler/GHC/Tc/Errors/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#c3e8a1868c9af8f291e62e09fe23f1202937fd12" style="color: #1068bf;">
compiler/GHC/Types/Name/Set.hs
</a>
</li>
<li class="file-stats">
<a href="#87db583be5c13c1f7b3c958b10e03d67b6a2ca06" style="color: #1068bf;">
configure.ac
</a>
</li>
<li class="file-stats">
<a href="#2755f32886c2656f273820ffb30a84a5a8be7a3a" style="color: #1068bf;">
libraries/base/GHC/Base.hs
</a>
</li>
<li class="file-stats">
<a href="#aa8f8d983c545ca1c0f14c2bbba776a29de3946d" style="color: #1068bf;">
testsuite/tests/ghci.debugger/scripts/T12458.stdout
</a>
</li>
<li class="file-stats">
<a href="#717324c6f2752bb07952afc78a0c87607620ff46" style="color: #1068bf;">
testsuite/tests/ghci.debugger/scripts/print018.stdout
</a>
</li>
<li class="file-stats">
<a href="#94265a1b42d0b30153d514825215b4fb514d8c00" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/hiefile/should_run/SpliceTypes.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#ae79023f50da8ac19d9f0bdf63015eb33870129d" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/hiefile/should_run/SpliceTypes.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#e371036e3183079f32065d845f624d0b7572cbcf" style="color: #1068bf;">
testsuite/tests/hiefile/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#9f19723d44c9e2003de2fbea09aa32f2aa972e03" style="color: #1068bf;">
testsuite/tests/simplStg/should_run/Makefile
</a>
</li>
<li class="file-stats">
<a href="#a5e4a78a8ff6222728c25e295dcb655f65ea7d8b" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/simplStg/should_run/T22042.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#99182eb482a7812eee1b6ccc9ca06b6a76d4fc77" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/simplStg/should_run/T22042.stdout
</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: #666;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/255437e5ea3f89ff4636d3628e229eb0389a1a0e...3b868b61b15cc057b4b43aae6da3185539299750" style="color: #1068bf;">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" style="color: #1068bf;">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link" style="color: #1068bf;">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link" style="color: #1068bf;">Help</a>



</p>
</div>
</body>
</html>