<!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>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<h3>
Ben Gamari pushed to branch wip/backports
at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3667e26f6619a442481127e7dea79ced73a9f049">3667e26f</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2020-09-17T14:59:42-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't mark closed type family equations as occurrences
Previously, `rnFamInstEqn` would mark the name of the type/data
family used in an equation as an occurrence, regardless of what sort
of family it is. Most of the time, this is the correct thing to do.
The exception is closed type families, whose equations constitute its
definition and therefore should not be marked as occurrences.
Overzealously counting the equations of a closed type family as
occurrences can cause certain warnings to not be emitted, as observed
in #18470. See `Note [Type family equations and occurrences]` in
`GHC.Rename.Module` for the full story.
This fixes #18470 with a little bit of extra-casing in
`rnFamInstEqn`. To accomplish this, I added an extra
`ClosedTyFamInfo` field to the `NonAssocTyFamEqn` constructor of
`AssocTyFamInfo` and refactored the relevant call sites accordingly
so that this information is propagated to `rnFamInstEqn`.
While I was in town, I moved `wrongTyFamName`, which checks that the
name of a closed type family matches the name in an equation for that
family, from the renamer to the typechecker to avoid the need for an
`ASSERT`. As an added bonus, this lets us simplify the details of
`ClosedTyFamInfo` a bit.
(cherry picked from commit 4f83e9ad76b1e7c67a440ea89f22f6fc03921b5d)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/58afde890e98ff9d843a18db9209e0f9b2c6ac91">58afde89</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2020-09-17T15:00:14-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Clean up the inferred type variable restriction
This patch primarily:
* Documents `checkInferredVars` (previously called
`check_inferred_vars`) more carefully. This is the
function which throws an error message if a user quantifies an
inferred type variable in a place where specificity cannot be
observed. See `Note [Unobservably inferred type variables]` in
`GHC.Rename.HsType`.
Note that I now invoke `checkInferredVars` _alongside_
`rnHsSigType`, `rnHsWcSigType`, etc. rather than doing so _inside_
of these functions. This results in slightly more call sites for
`checkInferredVars`, but it makes it much easier to enumerate the
spots where the inferred type variable restriction comes into
effect.
* Removes the inferred type variable restriction for default method
type signatures, per the discussion in #18432. As a result, this
patch fixes #18432.
Along the way, I performed some various cleanup:
* I moved `no_nested_foralls_contexts_err` into `GHC.Rename.Utils`
(under the new name `noNestedForallsContextsErr`), since it now
needs to be invoked from multiple modules. I also added a helper
function `addNoNestedForallsContextsErr` that throws the error
message after producing it, as this is a common idiom.
* In order to ensure that users cannot sneak inferred type variables
into `SPECIALISE instance` pragmas by way of nested `forall`s, I
now invoke `addNoNestedForallsContextsErr` when renaming
`SPECIALISE instance` pragmas, much like when we rename normal
instance declarations. (This probably should have originally been
done as a part of the fix for #18240, but this task was somehow
overlooked.) As a result, this patch fixes #18455 as a side effect.
(cherry picked from commit 502605f7ae9907a6b0b9823e8f055ae390c57b1d)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5f039752840a233f6ad980c54e69769ef2338aff">5f039752</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:04:37-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">typecheck: Drop SPECIALISE pragmas when there is no unfolding
Previously the desugarer would instead fall over when it realized that
there was no unfolding for an imported function with a SPECIALISE
pragma. We now rather drop the SPECIALISE pragma and throw a warning.
Fixes #18118.
(cherry picked from commit 708e374a8bf108999c11b6cf59c7d27677ed24a8)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/30a012282151e15dd103945c5d2e41db957b6fee">30a01228</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:04:41-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add test for #18118
(cherry picked from commit 2cdb72a569f6049a390626bca0dd6e362045ed65)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/034e7d056c75679d8f1a0329c3441080247e4b4e">034e7d05</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:05:05-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Drop --io-manager flag from testsuite configuration
This is no longer necessary as there are now dedicated testsuite ways
which run tests with WinIO.
(cherry picked from commit 77b1ebf6dd34df8068a07865d92301ff298cf5ca)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9b786e0efe4a450395aa89abd78e73f8b0e19ac9">9b786e0e</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:05:19-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">llvm-targets: Add i686 targets
Addresses #18422.
(cherry picked from commit 12dadd04a09c23c91d7da6f5b17ef78688d93fe7)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/73f42f006bbc381a463d25fba69ada0b986543ee">73f42f00</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2020-09-17T15:08:59-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Do not print synonyms in :i (->), :i Type (#18594)
This adds a new printing flag `sdocPrintTypeAbbreviations` that is used
specifically to avoid ghci printing 'type (->) = (->)' and 'type Type = Type'.
(cherry picked from commit 8b86509270227dbc61f0700c7d9261a4c7672361)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/237d440a57656952a2ecfb9737cb85c083283a9e">237d440a</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2020-09-17T15:09:22-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Move pprTyTcApp' inside pprTyTcApp
No semantic change
(cherry picked from commit d8f61182c3bdd1b6121c83be632b4941b907de88)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b4d761ee35240f83d0b07745a18cae308404d9ed">b4d761ee</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2020-09-17T15:11:42-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">[fixup 3433] move debugBelch into IF_DEBUG(linker)
The commit in dff1cb3d9c111808fec60190747272b973547c52 incorrectly left
the `debugBelch` function without a comment or IF_DEBUG(linker,)
decoration. This rectifies it.
Needs at least a 8.10 backport, as it was backported in 6471cc6aff80d5deebbdb1bf7b677b31ed2af3d5
(cherry picked from commit d99397a0e8e0ce78e98efae67ee1ba2524ca16d6)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d3e0b9059907ac07a0e5d1aa5a58e773e3ca6013">d3e0b905</a></strong>
<div>
<span>by Takenobu Tani</span>
<i>at 2020-09-17T15:12:57-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Limit upper version of Happy for ghc-9.0 and earlier (#18620)
This patch adds the upper bound of a happy version for ghc-9.0
and earlier.
Currently, we can't use happy-1.20.0 for ghc-9.0.
See #18620.
(cherry picked from commit 84ec8daa016d07ae42f0f0f48575dd7d907d5f9d)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3221a451398e0106b798591bd526eb0168b077a9">3221a451</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:14:34-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">configure: Fix whitespace
(cherry picked from commit 1213fd87564ab092aa914d8633df4de07fe04905)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8f3a8706af96974ca33121e887be14b5eba37fbc">8f3a8706</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:14:58-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Bump Windows toolchain version
This should have been done when we bumped the bootstrap compiler to
8.8.4.
(cherry picked from commit 566ac68de70e5b580c96e8ab8b3b02ad0f1acd42)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b640cdf1b7dc56c7dc1d3c5319ef7c5635044008">b640cdf1</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:15:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Drop Windows make job
These are a significant burden on our CI resources and end up failing
quite often due to #18274. Here I drop the make jobs during
validaion; it is now run only during the nightly builds.
(cherry picked from commit 72036e1c03385aa4f5ed70179ab4b154beed81cb)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ba6fb181c49c22c3087fc93a1caa7f1a0eff74b3">ba6fb181</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:15:20-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Drop Windows-specific output for parseTree
The normalise_slashes normaliser should handle this.
(cherry picked from commit 4597752ad3c031e17fe3cceb20c61e4d5b58c52f)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4748afdcd44d4e90d9ff4b744194a792d7a23c63">4748afdc</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:15:24-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T5975[ab] as broken on Windows
Due to #7305.
(cherry picked from commit 5b12bb7c98529374ff8e932d0c36104d1a0fe509)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/51dcc6e24f2125af27328a946495ea42aad4dd73">51dcc6e2</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:15:29-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Fix typo
A small typo in a rule regular expression.
(cherry picked from commit c4fd8947f4104e7b6d6bf3d320a63a361191bde1)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/42b8dabdf26784f466d02f30f2b2cf4e1ea94bdd">42b8dabd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:15:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts: Add stg_copyArray_barrier to RtsSymbols list
It's incredible that this wasn't noticed until now.
(cherry picked from commit c2fefaf37ae134aefc4136bae7e5976f991d76f4)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c908eac6975131b07cadd1347f68c66daac12b18">c908eac6</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2020-09-17T15:15:55-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Postpone associated tyfam default checks until after typechecking
Previously, associated type family defaults were validity-checked
during typechecking. Unfortunately, the error messages that these
checks produce run the risk of printing knot-tied type constructors,
which will cause GHC to diverge. In order to preserve the current
error message's descriptiveness, this patch postpones these validity
checks until after typechecking, which are now located in the new
function `GHC.Tc.Validity.checkValidAssocTyFamDeflt`.
Fixes #18648.
(cherry picked from commit 5e883375409efc2336da6295c7d81bd10b542210)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/25743d99041d88be17e874e528c2265ecc629eeb">25743d99</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2020-09-17T15:16:22-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't quote argument to Hadrian's test-env flag (#18656)
Doing so causes the name of the test environment to gain an extra
set of double quotes, which changes the name entirely.
Fixes #18656.
(cherry picked from commit bc487caf830ce6cd2c03845b29416c6706185fbc)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ddd3a41ee302bf42ac27276a136600037bc7f3a3">ddd3a41e</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2020-09-17T15:16:26-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make sure we can read past perf notes
See #18656.
(cherry picked from commit b8a9cff2ce651c085c84980d3e709db2ecda8c3f)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/156e23ee259515b0710aeaaa08b11c12ef16930a">156e23ee</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:16:53-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts: Fix erroneous usage of vsnprintf
As pointed out in #18685, this should be snprintf not vsnprintf. This
appears to be due to a cut-and-paste error.
Fixes #18658.
(cherry picked from commit 35ea92708e17c90e476167163ae24747a3f5508e)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d01482b78aeca89ad65a3ee3f64a264e6c45adb3">d01482b7</a></strong>
<div>
<span>by HaskellMouse</span>
<i>at 2020-09-17T15:17:27-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Added explicit fixity to (~).
Solves #18252
(cherry picked from commit 3c94c81629ac9159775b8b70baf2c635f0331708)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d6440d5ce59d6d95c00dcc50599d91f14018e6f5">d6440d5c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T15:17:52-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts/nonmoving: Add missing STM write barrier
When updating a TRec for a TVar already part of a transaction we
previously neglected to add the old value to the update remembered set.
I suspect this was the cause of #18587.
(cherry picked from commit a64e94f98ca18e53ecc13f736d50b9cb2d156b05)
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#9ab3868b23ed5d5a6e12ef902049902556fa4009">
aclocal.m4
</a>
</li>
<li class="file-stats">
<a href="#e39f2416dd3b2af571ddd26dcca3476a55810c41">
compiler/GHC/Core/Class.hs
</a>
</li>
<li class="file-stats">
<a href="#774d88050336ef660c7a219fb06c480c2fc639bc">
compiler/GHC/Driver/Session.hs
</a>
</li>
<li class="file-stats">
<a href="#018be522bc4813b147a1525e4f96a7a493207d96">
compiler/GHC/Hs/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#079d6b28856775716c78fdd4a4b35bb45a59002c">
compiler/GHC/Iface/Syntax.hs
</a>
</li>
<li class="file-stats">
<a href="#f2b2b84d138b362920ab9f144f58bf16254aab64">
compiler/GHC/Iface/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#06ff7bac58fd8cfe0c17b81963b03f4cce86a065">
compiler/GHC/IfaceToCore.hs
</a>
</li>
<li class="file-stats">
<a href="#af762064d779f7308dd415966c974f27d14f9943">
compiler/GHC/Rename/Bind.hs
</a>
</li>
<li class="file-stats">
<a href="#b47ece2bbb8303a5792c2fdc52394c8ed336e8a2">
compiler/GHC/Rename/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#892acbb198a9095c917740d3c1297b56df4e3b7e">
compiler/GHC/Rename/HsType.hs
</a>
</li>
<li class="file-stats">
<a href="#7dd1cd0f6f2164a14c83d9aa564dd32bc30e447a">
compiler/GHC/Rename/Module.hs
</a>
</li>
<li class="file-stats">
<a href="#cfa41b5649933e5b12f7796e9d49b9dd6a0bc59f">
compiler/GHC/Rename/Pat.hs
</a>
</li>
<li class="file-stats">
<a href="#939d24c1002dc322659c1f67c9f3d2db2ae31dd4">
compiler/GHC/Rename/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#eade747fa0a15693c67617629e286714fce958e4">
compiler/GHC/Tc/Gen/Sig.hs
</a>
</li>
<li class="file-stats">
<a href="#aebe2c3d616f6843166d2657bed048898add6bc9">
compiler/GHC/Tc/Instance/Class.hs
</a>
</li>
<li class="file-stats">
<a href="#83d23a46bb6cdc8b1edc16f1fd2c8f5c53e2c9ca">
compiler/GHC/Tc/TyCl.hs
</a>
</li>
<li class="file-stats">
<a href="#1db07ed8cd9bab6b217a8f5a140176d3cb8672fd">
compiler/GHC/Tc/Validity.hs
</a>
</li>
<li class="file-stats">
<a href="#d3cf57b6a5ebc234dc7689db38ef9b6cf2259c0f">
compiler/GHC/Utils/Outputable.hs
</a>
</li>
<li class="file-stats">
<a href="#2eeb40f0acd6cb433ebe65e34262040b618908a7">
hadrian/hadrian.cabal
</a>
</li>
<li class="file-stats">
<a href="#acb22db8d0fa26a579b612416f02f6a519b4cb9b">
hadrian/src/Settings/Builders/RunTest.hs
</a>
</li>
<li class="file-stats">
<a href="#e1dc7d84d8f2c952dba37b15142001f1d7952318">
libraries/ghc-prim/GHC/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#54f2593fa6d429b2b82cc2200e8bcda0f38854de">
libraries/ghc-prim/changelog.md
</a>
</li>
<li class="file-stats">
<a href="#3038e2d06a896e58c8bd2f609694dfd16c75d8df">
llvm-targets
</a>
</li>
<li class="file-stats">
<a href="#70d18e67a9cf77b587327dc6bf2dccfb8d49b076">
rts/RtsMessages.c
</a>
</li>
<li class="file-stats">
<a href="#16c842a51a135c8ef2c7c7f94336544868348a3c">
rts/RtsSymbols.c
</a>
</li>
<li class="file-stats">
<a href="#e137645f8a9be9fa32cc764e19cea2b492e33d9c">
rts/STM.c
</a>
</li>
<li class="file-stats">
<a href="#b7ec52d5e302083ed03503182f1293694dda24f3">
rts/linker/Elf.c
</a>
</li>
<li class="file-stats">
<a href="#6e9e255267780d64d50e2445aee2360e1269dcf1">
testsuite/driver/perf_notes.py
</a>
</li>
<li class="file-stats">
<a href="#7b2623ac371a10ea66bc330530343f950eec0e23">
testsuite/mk/test.mk
</a>
</li>
</ul>
<h5>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: #777;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/36fc0a06c1dc9bd01e61ec6728aac954d347c3d1...d6440d5ce59d6d95c00dcc50599d91f14018e6f5">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.haskell.org.
If you'd like to receive fewer emails, you can
adjust your notification settings.
</p>
</div>
</body>
</html>