<!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/cae325b7abee1e664b73d2f78f7da42b339c7e56" style="color: #1068bf;">cae325b7</a></strong>
<div>
<span>by Adam Gundry</span>
<i>at 2022-09-13T05:27: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;'>Allow imports to reference multiple fields with the same name (#21625)
If a module `M` exports two fields `f` (using DuplicateRecordFields), we can
still accept
import M (f)
import M hiding (f)
and treat `f` as referencing both of them. This was accepted in GHC 9.0, but gave
rise to an ambiguity error in GHC 9.2. See #21625.
This patch also documents this behaviour in the user's guide, and updates the
test for #16745 which is now treated differently.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7f31358cc1b895ccb71798127b71178862ab34d4" style="color: #1068bf;">7f31358c</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2022-09-13T05:27:16-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;'>hadrian: Use a stamp file to record when a package is built in a certain way
Before this patch which library ways we had built wasn't recorded
directly. So you would run into issues if you build the .conf file with
some library ways before switching the library ways which you wanted to
build.
Now there is one stamp file for each way, so in order to build a
specific way you can need that specific stamp file rather than going
indirectly via the .conf file.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/232fe1c585b66f4387427ce70e1406a02cae1d1d" style="color: #1068bf;">232fe1c5</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2022-09-13T05:27:16-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;'>hadrian: Inplace/Final package databases
There are now two different package databases per stage. An inplace
package database contains .conf files which point directly into the
build directories. The final package database contains .conf files which
point into the installed locations. The inplace .conf files are created
before any building happens and have fake ABI hash values. The final
.conf files are created after a package finished building and contains
the proper ABI has.
The motivation for this is to make the dependency structure more
fine-grained when building modules. Now a module depends just depends
directly on M.o from package p rather than the .conf file depend on the
.conf file for package p. So when all of a modules direct dependencies
have finished building we can start building it rather than waiting for
the whole package to finish.
The secondary motivation is that the multi-repl doesn't need to build
everything before starting the multi-repl session. We can just configure
the inplace package-db and use that in order to start the repl.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/79dd0b94d09fee5e5ec9a50cf036b6b6d828d562" style="color: #1068bf;">79dd0b94</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2022-09-13T05:27:16-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;'>hadrian: Add some more packages to multi-cradle
The main improvement here is to pass `-this-unit-id` for executables so
that they can be added to the multi-cradle if desired as well as normal
library packages.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/296be31341b3b02829f3289a22c77d30c9f24456" style="color: #1068bf;">296be313</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2022-09-13T05:27:16-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;'>hadrian: Need builders needed by Cabal Configure in parallel
Because of the use of withStaged (which needs the necessary builder)
when configuring a package, the builds of stage1:exe:ghc-bin and
stage1:exe:ghc-pkg where being linearised when building a specific
target like `binary-dist-dir`.
Thankfully the fix is quite local, to supply all the `withStaged`
arguments together so the needs can be batched together and hence
performed in parallel.
Fixes #22093
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9e354152e2b409637162c85305cc325e8e0c743d" style="color: #1068bf;">9e354152</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2022-09-13T05:27:16-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;'>Remove stage1:exe:ghc-bin pre-build from CI script
CI builds stage1:exe:ghc-bin before the binary-dist target which
introduces some quite bad linearisation (see #22093) because we don't
build stage1 compiler in parallel with anything. Then when the
binary-dist target is started we have to build stage1:exe:ghc-pkg before
doing anything.
Fixes #22094
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2f8257faff62b3d6e9a01a6b3aefa6888b7a29a7" style="color: #1068bf;">2f8257fa</a></strong>
<div>
<span>by Cheng Shao</span>
<i>at 2022-09-13T05:27:18-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;'>ci: remove unused appveyor config
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/12b37549763de33b84ef30a8b116d2ff32a5743f" style="color: #1068bf;">12b37549</a></strong>
<div>
<span>by Cheng Shao</span>
<i>at 2022-09-13T05:27:19-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;'>compiler: remove unused lazy state monad
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#75e574383e3b45d84e93d043bff99e13d75f1842" style="color: #1068bf;">
<span class="deleted-file">
−
.appveyor.sh
</span>
</a>
</li>
<li class="file-stats">
<a href="#157f7634c25bc6366cb7c9c9edb48e819dce38db" style="color: #1068bf;">
.gitlab/ci.sh
</a>
</li>
<li class="file-stats">
<a href="#43b9d80d1f50472e56afb94a061257af5b53182b" style="color: #1068bf;">
<span class="deleted-file">
−
appveyor.yml
</span>
</a>
</li>
<li class="file-stats">
<a href="#e05ee69330b0f7088f11a5f3567137547489664d" style="color: #1068bf;">
compiler/GHC/Rename/Names.hs
</a>
</li>
<li class="file-stats">
<a href="#c76093c4899cdd745b3eec534c3f6e7557d3ca4f" style="color: #1068bf;">
<span class="deleted-file">
−
compiler/GHC/Utils/Monad/State/Lazy.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23" style="color: #1068bf;">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#391e5f837d21fb499c1a09ae935a92c9c11e5777" style="color: #1068bf;">
docs/users_guide/exts/duplicate_record_fields.rst
</a>
</li>
<li class="file-stats">
<a href="#2eeb40f0acd6cb433ebe65e34262040b618908a7" style="color: #1068bf;">
hadrian/hadrian.cabal
</a>
</li>
<li class="file-stats">
<a href="#066676c9c25c533913dbd6a6948dd6ba25f97996" style="color: #1068bf;">
hadrian/src/Base.hs
</a>
</li>
<li class="file-stats">
<a href="#f2d774357fa6061a6d5972714cf4ad7a22e37695" style="color: #1068bf;">
hadrian/src/Builder.hs
</a>
</li>
<li class="file-stats">
<a href="#75cacc4ac88e6417ff1b69b1c18dd8a26fc845a0" style="color: #1068bf;">
hadrian/src/Context.hs
</a>
</li>
<li class="file-stats">
<a href="#42ea7d0ea855bb86daacdd852bb4acb9dc56adf2" style="color: #1068bf;">
hadrian/src/Context/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#826fe1efb3ea3a60a511363ceb2483747e6346f6" style="color: #1068bf;">
hadrian/src/Hadrian/Builder.hs
</a>
</li>
<li class="file-stats">
<a href="#579888c35e9965d115a2349ac57e4ff79e87518f" style="color: #1068bf;">
hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
</a>
</li>
<li class="file-stats">
<a href="#a76b98705ef499cc867d50e433329007d6a77e2d" style="color: #1068bf;">
hadrian/src/Packages.hs
</a>
</li>
<li class="file-stats">
<a href="#2b9c6614fcb1a7e344408671cf3f4c652fd8d917" style="color: #1068bf;">
hadrian/src/Rules.hs
</a>
</li>
<li class="file-stats">
<a href="#d54febd1e7f96d85cda6ae682efa3ddb77fddedc" style="color: #1068bf;">
hadrian/src/Rules/BinaryDist.hs
</a>
</li>
<li class="file-stats">
<a href="#46e816779a90d15b358d4f136787e050d605d4c4" style="color: #1068bf;">
hadrian/src/Rules/Compile.hs
</a>
</li>
<li class="file-stats">
<a href="#17c01d691132c419a2414c11163cd3681c102fc5" style="color: #1068bf;">
hadrian/src/Rules/Dependencies.hs
</a>
</li>
<li class="file-stats">
<a href="#6c93025dd021b74dda705f36d078e02bcda0ccfe" style="color: #1068bf;">
hadrian/src/Rules/Documentation.hs
</a>
</li>
<li class="file-stats">
<a href="#2d11d70063aa1378e9323caad80c7d9116ef4520" style="color: #1068bf;">
hadrian/src/Rules/Generate.hs
</a>
</li>
<li class="file-stats">
<a href="#b526b637050952b6307a0695885c438f0db312d2" style="color: #1068bf;">
hadrian/src/Rules/Libffi.hs
</a>
</li>
<li class="file-stats">
<a href="#fb6173313439af46b3054cb59d8b9287eaae035c" style="color: #1068bf;">
hadrian/src/Rules/Library.hs
</a>
</li>
<li class="file-stats">
<a href="#0dec2be525561f8307b15f94411168b39137f135" style="color: #1068bf;">
hadrian/src/Rules/Nofib.hs
</a>
</li>
<li class="file-stats">
<a href="#ef0fda717f83e7f21f0e70684ddfdf0df9ef8b36" style="color: #1068bf;">
hadrian/src/Rules/Program.hs
</a>
</li>
<li class="file-stats">
<a href="#ea44ae2bf75a7ad281e1a9eae011461c5487ed17" style="color: #1068bf;">
hadrian/src/Rules/Register.hs
</a>
</li>
<li class="file-stats">
<a href="#b665327fce14433ece4212414e3ac172b9b704a8" style="color: #1068bf;">
hadrian/src/Rules/Rts.hs
</a>
</li>
<li class="file-stats">
<a href="#f4586df19410cf938856031e0d26a0589dfe63ca" style="color: #1068bf;">
hadrian/src/Rules/SourceDist.hs
</a>
</li>
<li class="file-stats">
<a href="#4b733eb61cfe8a0a7189e1f5fcf412fdb852c3a6" style="color: #1068bf;">
hadrian/src/Rules/Test.hs
</a>
</li>
<li class="file-stats">
<a href="#71a538e8fe157670b8a6e6136239400115293707" style="color: #1068bf;">
hadrian/src/Rules/ToolArgs.hs
</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/cc1baeb905caf7011d50dd959e9d3f65f6e9fb82...12b37549763de33b84ef30a8b116d2ff32a5743f" 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>