<!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 ghc-8.8
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/61e13e06d7e1496c46ceb90bd09f29b78fac2a14">61e13e06</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T18:18:45Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">users-guide: Move HIE file discussion to correct section
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2df05448aedd778d65f2cf9d9716fcefe8dfab15">2df05448</a></strong>
<div>
<span>by Peter Trommler</span>
<i>at 2019-06-17T21:20:14Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">RTS: Add missing memory barrier

In the work stealing queue a load-load-barrier is required to ensure
that a read of queue data cannot be reordered before a read of the
bottom pointer into the queue.

The added load-load-barrier ensures that the ordering of writes enforced
at the end of `pushWSDeque` is also respected in the order of reads in
`stealWSDeque_`. In other words, when reading `q->bottom` we want to make
sure that we see the updates to `q->elements`.

Fixes #13633

(cherry picked from commit 5c084e0468be46f5ab48b2c1669a7e4d4d0f3c43)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/01389c6c47f9113b2e5f799db423574998f92749">01389c6c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T17:13:35Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump unix submodule
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ce6a492b6d2ec818d6fe57f0892ba0716c1ff9a7">ce6a492b</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2019-06-19T16:39:50Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fail fast in solveLocalEqualities

This patch makes us fail fast in TcSimplify.solveLocalEqualities,
and in TcHsType.tc_hs_sig_type, if there are insoluble constraints.

Previously we ploughed on even if there were insoluble constraints,
leading to a cascade of hard-to-understand type errors. Failing
eagerly is much better; hence a lot of testsuite error message
changes.  Eg if we have
          f :: [Maybe] -> blah
          f xs = e
then trying typecheck 'f x = e' with an utterly bogus type
is just asking for trouble.

I can't quite remember what provoked me to make this change,
but I think the error messages are notably improved, by
removing confusing clutter and focusing on the real error.

(cherry picked from commit 5c1f268e2744fab2d36e64c163858995451d7095)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4a5ab8f0f91230113dcd4ce3bd6fad37932547b7">4a5ab8f0</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2019-06-19T16:39:50Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix #16517 by bumping the TcLevel for method sigs

There were actually two bugs fixed here:

1. candidateQTyVarsOfType needs to be careful that it does not
   try to zap metavariables from an outer scope as "naughty"
   quantification candidates. This commit adds a simple check
   to avoid doing so.

2. We weren't bumping the TcLevel in kcHsKindSig, which was used
   only for class method sigs. This mistake led to the acceptance
   of

     class C a where
       meth :: forall k. Proxy (a :: k) -> ()

   Note that k is *locally* quantified. This patch fixes the
   problem by using tcClassSigType, which correctly bumps the
   level. It's a bit inefficient because tcClassSigType does other
   work, too, but it would be tedious to repeat much of the code
   there with only a few changes. This version works well and is
   simple.

And, while updating comments, etc., I noticed that tcRnType was
missing a pushTcLevel, leading to #16767, which this patch also
fixes, by bumping the level. In the refactoring here, I also
use solveEqualities. This initially failed ghci/scripts/T15415,
but that was fixed by teaching solveEqualities to respect
-XPartialTypeSignatures.

This patch also cleans up some Notes around error generation that
came up in conversation.

Test case: typecheck/should_fail/T16517, ghci/scripts/T16767

(cherry picked from commit a22e51ea6f7a046c87d57ce30d143eef6abee9ff)
(cherry picked from commit 19ab32c5fb3ebd88927b94acf6b348facc1552a2)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/92543601915d2386c5f80e460330a173a4ab0ace">92543601</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-21T21:17:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Merge branch 'wip/backport-MR951' into wip/ghc-8.8-merges
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/7c9c129ef2f688c878f21af11d3a4195744bc1e6">7c9c129e</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-22T13:01:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Fix expected output
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#9f8e9eab0dc8b12ae9f92fbb76ddca15c817667a">
compiler/typecheck/TcCanonical.hs
</a>
</li>
<li class="file-stats">
<a href="#c573dfc3158e7ec41ecc0965becd5f1e6e92a2e6">
compiler/typecheck/TcErrors.hs
</a>
</li>
<li class="file-stats">
<a href="#350c4076427c611b8f14e875a4ca553041c2b847">
compiler/typecheck/TcHsType.hs
</a>
</li>
<li class="file-stats">
<a href="#367db94fc37c8c7548dbe545a5302c7a5108e41e">
compiler/typecheck/TcMType.hs
</a>
</li>
<li class="file-stats">
<a href="#2799ba786adc98d485fad6003334b913a0069bdc">
compiler/typecheck/TcRnDriver.hs
</a>
</li>
<li class="file-stats">
<a href="#d2ddf5ce2d076f8584d9825af8ea0d7ea0a38813">
compiler/typecheck/TcRnTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#75d517f701402b106e4d98d255eb24b57ba72aab">
compiler/typecheck/TcSimplify.hs
</a>
</li>
<li class="file-stats">
<a href="#bdfa0cc139f61d1236abc1598c5d684b43c357f9">
compiler/typecheck/TcTyClsDecls.hs
</a>
</li>
<li class="file-stats">
<a href="#341fd962c5f2c9fcf8be3dbdaa9a14ee1538af07">
compiler/typecheck/TcType.hs
</a>
</li>
<li class="file-stats">
<a href="#8d11c404e91070407324f71df4a47224c0887148">
docs/users_guide/8.8.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#c94f27a74551c6432f819bdfe482f1a46f1a1596">
libraries/unix
</a>
</li>
<li class="file-stats">
<a href="#5af0fafc777cbdedc6d56a630fc6e283715430ca">
rts/WSDeque.c
</a>
</li>
<li class="file-stats">
<a href="#d06c53a0af9d8d4ce3926a972ef14e23ec2f1062">
testsuite/tests/dependent/should_fail/DepFail1.stderr
</a>
</li>
<li class="file-stats">
<a href="#e478b581c89507742104c63ac6f5592864c6d62b">
testsuite/tests/ghci/scripts/T15898.stderr
</a>
</li>
<li class="file-stats">
<a href="#13b8cf7619096f55d161ef6f6892fd8b6399f187">
<span class="new-file">
+
testsuite/tests/ghci/scripts/T16767.script
</span>
</a>
</li>
<li class="file-stats">
<a href="#8c9b98ada81eb0b5ce37764a0ca63adffb8549d6">
<span class="new-file">
+
testsuite/tests/ghci/scripts/T16767.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#080fb38cc741d3f1a476696b3373ab7cf48c2aaa">
testsuite/tests/ghci/scripts/all.T
</a>
</li>
<li class="file-stats">
<a href="#24ca8cd4c0ac4e73381870c51317218146fea7df">
testsuite/tests/indexed-types/should_fail/T13877.stderr
</a>
</li>
<li class="file-stats">
<a href="#a82df923dec09987f3a14caa3525962008923e77">
testsuite/tests/partial-sigs/should_fail/T11976.stderr
</a>
</li>
<li class="file-stats">
<a href="#7b3fa4219629deca61547940ba980e3b3c31651c">
testsuite/tests/partial-sigs/should_fail/T12634.stderr
</a>
</li>
<li class="file-stats">
<a href="#ba5c02381b0da2db4623be4ed43702101c3653cb">
testsuite/tests/patsyn/should_fail/T15289.stderr
</a>
</li>
<li class="file-stats">
<a href="#2decae25fbbeca46eab4f4f54da8d350dd1e9060">
testsuite/tests/polykinds/T12593.stderr
</a>
</li>
<li class="file-stats">
<a href="#8b56a17b55cf3da82391b6b397cc115eca8f8d19">
testsuite/tests/polykinds/T15577.stderr
</a>
</li>
<li class="file-stats">
<a href="#dbead3aa8ba5ac9f56ef8591aead5348bbbd9300">
testsuite/tests/rts/testwsdeque.c
</a>
</li>
<li class="file-stats">
<a href="#d06366af09dac2319faf3d5f80d9277c9d388b10">
testsuite/tests/typecheck/should_fail/T11112.stderr
</a>
</li>
<li class="file-stats">
<a href="#42c1e0f9d29dc6568d2c966810d3b3c06e29b17d">
testsuite/tests/typecheck/should_fail/T13819.stderr
</a>
</li>
<li class="file-stats">
<a href="#4e1e6ab56fd4526988234b71e8b75ace2cfe1284">
testsuite/tests/typecheck/should_fail/T14232.stderr
</a>
</li>
<li class="file-stats">
<a href="#f80799ecc01331b244dad18a881729fbb1f7bfb5">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/T16517.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#5a9a1ea6f14d9aad857ca084d18ff53bec57a93b">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/T16517.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#ee5638cfd504321fce6e2940014a1287a50304bf">
testsuite/tests/typecheck/should_fail/T3540.stderr
</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/048d4d227dcf1af7019ae658dd71980b9f1406c1...7c9c129ef2f688c878f21af11d3a4195744bc1e6">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>