<!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/c9262d499599dcc5c706911da8272515322c53b6">c9262d49</a></strong>
<div>
<span>by Daniel Rogozin</span>
<i>at 2020-10-10T23:24:32+03:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fall back to types when looking up data constructors (#18740)

Before this patch, referring to a data constructor in a term-level
context led to a scoping error:

    ghci> id Int
    <interactive>:1:4: error: Data constructor not in scope: Int

After this patch, the renamer falls back to the type namespace
and successfully finds the Int. It is then rejected in the type
checker with a more useful error message:

    <interactive>:1:4: error:
    • Illegal term-level use of the type constructor ‘Int’
        imported from ‘Prelude’ (and originally defined in ‘GHC.Types’)
    • In the first argument of ‘id’, namely ‘Int’
      In the expression: id Int

We also do this for type variables.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/de2dbcba73fecdbb61dbce1f57ba80b7ca4a015f">de2dbcba</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2020-10-10T22:53:23-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix some missed opportunities for preInlineUnconditionally

There are two signficant changes here:

* Ticket #18815 showed that we were missing some opportunities for
  preInlineUnconditionally.  The one-line fix is in the code for
  GHC.Core.Opt.Simplify.Utils.preInlineUnconditionally, which now
  switches off only for INLINE pragmas.  I expanded
  Note [Stable unfoldings and preInlineUnconditionally] to explain.

* When doing this I discovered a way in which preInlineUnconditionally
  was occasionally /too/ eager.  It's all explained in
  Note [Occurrences in stable unfoldings] in GHC.Core.Opt.OccurAnal,
  and the one-line change adding markAllMany to occAnalUnfolding.

I also got confused about what NoUserInline meant, so I've renamed
it to NoUserInlinePrag, and changed its pretty-printing slightly.
That led to soem error messate wibbling, and touches quite a few
files, but there is no change in functionality.

I did a nofib run.  As expected, no significant changes.

        Program           Size    Allocs
----------------------------------------
         sphere          -0.0%     -0.4%
----------------------------------------
            Min          -0.0%     -0.4%
            Max          -0.0%     +0.0%
 Geometric Mean          -0.0%     -0.0%
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ee4d15bfbc16bfd76328c0ace830b45a5a8c5560">ee4d15bf</a></strong>
<div>
<span>by Hécate</span>
<i>at 2020-10-10T22:53:24-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove the dependency on the ghc-linters stage
</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="#bac3d5159a5688007de3aa3f5c4e50569677b347">
compiler/GHC/Core/Opt/OccurAnal.hs
</a>
</li>
<li class="file-stats">
<a href="#f168a93cde5e2aec2441d6331dfe500172df4af3">
compiler/GHC/Core/Opt/Simplify.hs
</a>
</li>
<li class="file-stats">
<a href="#48fbb5cdea308650de5756521feb28ec68819b9b">
compiler/GHC/Core/Opt/Simplify/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#ab22d7ae4d245581b701367e386d7e886e416e76">
compiler/GHC/Core/Opt/Specialise.hs
</a>
</li>
<li class="file-stats">
<a href="#5b215b0e109123e4bef5434854f18e2f61c45b88">
compiler/GHC/Core/Opt/WorkWrap.hs
</a>
</li>
<li class="file-stats">
<a href="#65ca06d51797ebf672a62bde6c00bcb9444e1425">
compiler/GHC/Hs/Binds.hs
</a>
</li>
<li class="file-stats">
<a href="#65e2067fbb7377818b6cadff0531f44029499948">
compiler/GHC/HsToCore/Binds.hs
</a>
</li>
<li class="file-stats">
<a href="#3c19c0be465f9a28d7b69f89c55648080fcc37eb">
compiler/GHC/HsToCore/Quote.hs
</a>
</li>
<li class="file-stats">
<a href="#bf951467d4a9aa443cb109cb4c84a2891945649b">
compiler/GHC/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#86d694037d496c511e28b2c09c8410f67dc19596">
compiler/GHC/Rename/Env.hs
</a>
</li>
<li class="file-stats">
<a href="#36920f1fa315563c590243b1b096096bc305ca70">
compiler/GHC/Tc/Gen/Head.hs
</a>
</li>
<li class="file-stats">
<a href="#2eac51f9871ca0c0698aa1fc7f79c05ef8fc4a49">
compiler/GHC/ThToHs.hs
</a>
</li>
<li class="file-stats">
<a href="#166e3514d27c63ef7e86af29830d9e8b2a31c8b1">
compiler/GHC/Types/Basic.hs
</a>
</li>
<li class="file-stats">
<a href="#6816c5954a025bb59270f70d0a997e605585d801">
compiler/GHC/Types/Name/Occurrence.hs
</a>
</li>
<li class="file-stats">
<a href="#03e77c5a7f093768fb8c3be51f8c4ece06b78463">
compiler/GHC/Types/Name/Reader.hs
</a>
</li>
<li class="file-stats">
<a href="#f35faa85de2e0a75cdaa452eb7336a09c677d450">
compiler/GHC/Utils/Binary.hs
</a>
</li>
<li class="file-stats">
<a href="#b7bdaaede3538446071641053f35e4c4b3ed2f8e">
testsuite/tests/module/mod132.stderr
</a>
</li>
<li class="file-stats">
<a href="#eaf4a85571af715bed43d8198783832720238fba">
testsuite/tests/module/mod147.stderr
</a>
</li>
<li class="file-stats">
<a href="#dc16b4286a0b348791b462e3eb798b3296c96471">
testsuite/tests/rename/should_fail/RnStaticPointersFail02.stderr
</a>
</li>
<li class="file-stats">
<a href="#46c37cf0040542d150de200f257a6c2b37dfd278">
<span class="new-file">
+
testsuite/tests/rename/should_fail/T18740a.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#305907f56888391e52f28a2e3efca1e5e12e6ba8">
<span class="new-file">
+
testsuite/tests/rename/should_fail/T18740a.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#020638b3e577e3c13da4a8cb6122e488844cc051">
<span class="new-file">
+
testsuite/tests/rename/should_fail/T18740b.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#70d61ede87c171675e261c7655e101a701317290">
<span class="new-file">
+
testsuite/tests/rename/should_fail/T18740b.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#c2554d4efde41e6e193f728122336449d2cb5fc5">
testsuite/tests/rename/should_fail/all.T
</a>
</li>
<li class="file-stats">
<a href="#0e552c88e6ad6dda61e457558d769f9f7fc08caa">
testsuite/tests/roles/should_compile/Roles1.stderr
</a>
</li>
<li class="file-stats">
<a href="#c5d8728cba431493a7f9249d50fa059478ebeedd">
testsuite/tests/roles/should_compile/Roles14.stderr
</a>
</li>
<li class="file-stats">
<a href="#41639098249315c642bf184008c3cd0451a669fa">
testsuite/tests/roles/should_compile/Roles2.stderr
</a>
</li>
<li class="file-stats">
<a href="#abbf4fb3aa1f761971354189e6537b8113d2e6ce">
testsuite/tests/roles/should_compile/Roles3.stderr
</a>
</li>
<li class="file-stats">
<a href="#9f6dfb765b6863e5abfa795af35b9d5712639a5e">
testsuite/tests/roles/should_compile/Roles4.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/22476b27c46c66293907180ae0d07fe3666bde5b...ee4d15bfbc16bfd76328c0ace830b45a5a8c5560">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>