<!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>
 Marge Bot pushed to branch wip/marge_bot_batch_merge_job
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/62f0213d4db6020a0d1feb8512432dcad36f08de">62f0213d</a></strong>
<div>
<span>by Fumiaki Kinoshita</span>
<i>at 2019-06-18T20:00:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Data.Ord: give a field name getDown to Down
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/da33f2bb3965bacec25790548d1a9b6812dfeefc">da33f2bb</a></strong>
<div>
<span>by Fumiaki Kinoshita</span>
<i>at 2019-06-18T20:00:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add more newtype-derived instances to Data.Ord.Down

Metric Increase:
    haddock.base
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dbf9ca2040c71b2f04322b054322a0ede1e1b700">dbf9ca20</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:00:56Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add testcase for #16689
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/29ec33cd3ee390e8006a88d34f5ea0ac236663d0">29ec33cd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:00:56Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">SafeHaskell: Don't throw -Wsafe warning if module is declared Safe

Fixes #16689.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a491e40c5b7b20ef4a579a6697fb47410e0de25a">a491e40c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:01:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Compile UserSettings with -O0

This guarantees that the interface file for `UserSettings` doesn't 
contain any unfoldings, ensuring that a change in it requires minimal 
rebuilds.</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/74bd6b225d94838811b885f9fdf943a5900cb424">74bd6b22</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:02:07Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add test for #16832
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6a92f59d7385397fb9ee013efe102c797319243c">6a92f59d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:02:42Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Run alpine builds during nightly job
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4549cadf855d14a6b737ceddf4e474faf8e343ff">4549cadf</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2019-06-18T20:03:19Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make sure mkSplitUniqSupply stores the precomputed mask only.

mkSplitUniqSupply was lazy on the boxed char.

This caused a bunch of issues:
* The closure captured the boxed Char
* The mask was recomputed on every split of the supply.
* It also caused the allocation of MkSplitSupply to happen in it's own
(allocated) closure. The reason of which I did not further investigate.

We know force the computation of the mask inside mkSplitUniqSupply.
* This way the mask is computed at most once per UniqSupply creation.
* It allows ww to kick in, causing the closure to retain the unboxed
value.

Requesting Uniques in a loop is now faster by about 20%.

I did not check the impact on the overall compiler, but I added a test
to avoid regressions.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/104f93c06d8e98468af9a3853598ec5e55af784a">104f93c0</a></strong>
<div>
<span>by Oleg Grenrus</span>
<i>at 2019-06-19T05:35:16Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add -Winferred-safe-imports warning

This commit partly reverts e69619e923e84ae61a6bb4357f06862264daa94b
commit by reintroducing Sf_SafeInferred SafeHaskellMode.

We preserve whether module was declared or inferred Safe.  When
declared-Safe module imports inferred-Safe, we warn.  This inferred
status is volatile, often enough it's a happy coincidence, something
which cannot be relied upon. However, explicitly Safe or Trustworthy
packages won't accidentally become Unsafe.

Updates haddock submodule.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/369c2057d90440bf8a02b760418b22500bff7911">369c2057</a></strong>
<div>
<span>by Oleg Grenrus</span>
<i>at 2019-06-19T05:35:16Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add -Wmissing-safe-haskell-mode warning
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/22c0bb2060d378db0d8adb111904a353b38c230f">22c0bb20</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2019-06-19T05:35:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix two places that failed the substitution invariant

The substition invariant relies on keeping the in-scope
set in sync, and we weren't always doing so, which means that
a DEBUG compiler crashes sometimes with an assertion failure

This patch fixes a couple more cases.  Still not validate
clean (with -DEEBUG) but closer!
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b96f33dcd48842b227b17f319a516f3abfce7c46">b96f33dc</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2019-06-19T05:35:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix typechecking of partial type signatures

Partial type sigs had grown hair.  tcHsParialSigType was
doing lots of unnecessary work, and tcInstSig was cloning it
unnecessarily -- and the result didn't even work: #16728.

This patch cleans it all up, described by TcHsType
  Note [Checking parital type signatures]

I basically just deleted code... but very carefully!

Some refactoring along the way

* Distinguish more explicintly between "anonymous" wildcards "_"
  and "named" wildcards "_a".  I changed the names of a number
  of functions to make this distinction much more apparent.

The patch also revealed that the code in `TcExpr`
that implements the special typing rule for `($)` was wrong.
It called `getRuntimeRep` in a situation where where was no
particular reason to suppose that the thing had kind `TYPE r`.

This caused a crash in typecheck/should_run/T10846.

The fix was easy, and actually simplifies the code in `TcExpr`
quite a bit.  Hooray.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0e5cdf7787ecf42ed3b2f6ace117dd4ccfa42c27">0e5cdf77</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2019-06-19T05:35:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Comments and tiny refactor

* Added Note [Quantified varaibles in partial type signatures]
  in TcRnTypes

* Kill dVarSetElemsWellScoped; it was only called in
  one function, quantifyTyVars.  I inlined it because it
  was only scopedSort . dVarSetElems

* Kill Type.tyCoVarsOfBindersWellScoped, never called.
</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="#2da47fed955dc80b79c67ba640b94aeecf9d5524">
compiler/basicTypes/UniqSupply.hs
</a>
</li>
<li class="file-stats">
<a href="#11e9bfd841c4163c1919b5e07efc84740e02010f">
compiler/main/DynFlags.hs
</a>
</li>
<li class="file-stats">
<a href="#a5d2f1f03da18c26aa3c615ca829648a4a806a5b">
compiler/main/HscMain.hs
</a>
</li>
<li class="file-stats">
<a href="#a7d05a7194ce9665362b8cb2a6e3cb5bd39f2965">
compiler/main/HscTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#80d26d5d3ff0c380bfa505239d3192d66657fe32">
compiler/rename/RnTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#c445afcfc673671d106f586e133959854186d16b">
compiler/typecheck/Inst.hs
</a>
</li>
<li class="file-stats">
<a href="#a83766f600de0ac03e19fb4b379bc90111dc73a5">
compiler/typecheck/TcBinds.hs
</a>
</li>
<li class="file-stats">
<a href="#9f8e9eab0dc8b12ae9f92fbb76ddca15c817667a">
compiler/typecheck/TcCanonical.hs
</a>
</li>
<li class="file-stats">
<a href="#3668e5951898e1cee434d7e6fb5a139287ebe70d">
compiler/typecheck/TcExpr.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="#fa5bd207fd28db668d069147fd989ad2ac810fd7">
compiler/typecheck/TcRnMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#d2ddf5ce2d076f8584d9825af8ea0d7ea0a38813">
compiler/typecheck/TcRnTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#341aef35ac370771edf59ec6b9fbb31507fa6f18">
compiler/typecheck/TcSigs.hs
</a>
</li>
<li class="file-stats">
<a href="#341fd962c5f2c9fcf8be3dbdaa9a14ee1538af07">
compiler/typecheck/TcType.hs
</a>
</li>
<li class="file-stats">
<a href="#07ce9a046fb8ea6659690020b0a8551d94cfdf1c">
compiler/types/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#fcd312a649a43f4ccd8e43e52a19037131c9a687">
docs/users_guide/safe_haskell.rst
</a>
</li>
<li class="file-stats">
<a href="#b5b7b63ab5532ca7281d44e164d77f0d56c1fddc">
hadrian/src/UserSettings.hs
</a>
</li>
<li class="file-stats">
<a href="#8e1343ff94681e698b8ec9b48d207779d77db1b9">
libraries/base/Control/Monad/Fix.hs
</a>
</li>
<li class="file-stats">
<a href="#a1e5e9c761548ac1c0265028f1f3b31a2390058b">
libraries/base/Data/Ord.hs
</a>
</li>
<li class="file-stats">
<a href="#392e9dfd3417e267d708c5ab16536f2994d43745">
libraries/base/changelog.md
</a>
</li>
<li class="file-stats">
<a href="#fc93b26a3154f102f2bf16cf72ae4576f234d0f4">
<span class="new-file">
+
testsuite/tests/partial-sigs/should_compile/T16728.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#b16a1ffd67ffd8fd4e68341503bf44c581910108">
<span class="new-file">
+
testsuite/tests/partial-sigs/should_compile/T16728.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#65238b2bc6d63b92c18503e1d45d68c4641cda65">
<span class="new-file">
+
testsuite/tests/partial-sigs/should_compile/T16728a.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#8998d74383852482788d62775428d5c578125347">
<span class="new-file">
+
testsuite/tests/partial-sigs/should_compile/T16728a.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#d6d32f1b07f8052f82e7678e4a15e0cf57b827c1">
<span class="new-file">
+
testsuite/tests/partial-sigs/should_compile/T16728b.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#befe36efee69935add9af6dc4b7a849aa1be3241">
<span class="new-file">
+
testsuite/tests/partial-sigs/should_compile/T16728b.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#638bf502d5c9ded68b185325d908464f7da3dcac">
testsuite/tests/partial-sigs/should_compile/all.T
</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/4c5ad18bad897fe062ea4e6f209f510b7be38ad7...0e5cdf7787ecf42ed3b2f6ace117dd4ccfa42c27">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>