<!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>
Sebastian Graf pushed to branch wip/T18932
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/9667ab7d2fe7f115902003638a2a9e9a61576fb8">9667ab7d</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-11-18T13:53:43+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">PmCheck: Print types of uncovered patterns (#18932)
In order to avoid confusion as in #18932, we display the type of the
match variables in the non-exhaustiveness warning, e.g.
```
T18932.hs:14:1: warning: [-Wincomplete-patterns]
Pattern match(es) are non-exhaustive
In an equation for ‘g’:
Patterns of type ‘T a’, ‘T a’, ‘T a’ not matched:
(MkT2 _) (MkT1 _) (MkT1 _)
(MkT2 _) (MkT1 _) (MkT2 _)
(MkT2 _) (MkT2 _) (MkT1 _)
(MkT2 _) (MkT2 _) (MkT2 _)
...
|
14 | g (MkT1 x) (MkT1 _) (MkT1 _) = x
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
It also allows us to omit the type signature on wildcard matches which
we previously showed in only some situations, particularly
`-XEmptyCase`.
Fixes #18932.
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#36e7b8d61b4fae8f65fca3984d01eb4076712f2b">
compiler/GHC/HsToCore/Pmc.hs
</a>
</li>
<li class="file-stats">
<a href="#092dafb784a8c4eeb7ab4572ab3ef35308020a00">
compiler/GHC/HsToCore/Pmc/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#815e13a407264e476d8933d9cf32fbf0b0449950">
testsuite/tests/deSugar/should_compile/DsStrictWarn.stderr
</a>
</li>
<li class="file-stats">
<a href="#fa9529679b777468581f7638280c73ef043c5207">
testsuite/tests/deSugar/should_compile/GadtOverlap.stderr
</a>
</li>
<li class="file-stats">
<a href="#269b4ca0e384c634c8a0cfd4896b95034095605b">
testsuite/tests/deSugar/should_compile/T14135.stderr
</a>
</li>
<li class="file-stats">
<a href="#2e9f8086a714d705fb733c294544e4f8f0bd5954">
testsuite/tests/deSugar/should_compile/T14546a.stderr
</a>
</li>
<li class="file-stats">
<a href="#61451fe7934b3888a7836e61f66f3d6ef19f9b28">
testsuite/tests/deSugar/should_compile/T14546d.stderr
</a>
</li>
<li class="file-stats">
<a href="#127239f0179f734be4ae8d2c1b027b2ec3af4427">
testsuite/tests/deSugar/should_compile/T5455.stderr
</a>
</li>
<li class="file-stats">
<a href="#a15757e4a437a9e72b3056f4bb4e65b4b177962f">
testsuite/tests/dependent/should_compile/KindEqualities.stderr
</a>
</li>
<li class="file-stats">
<a href="#34dda212401dfe8e199ea5e3acd95eb74820453a">
testsuite/tests/driver/T8101.stderr
</a>
</li>
<li class="file-stats">
<a href="#5ffbec2a5f4222fa868b5fbb7af474d18432caca">
testsuite/tests/driver/T8101b.stderr
</a>
</li>
<li class="file-stats">
<a href="#67ad51aec494a30be719ad186a33e70d5b33869a">
testsuite/tests/driver/werror.stderr
</a>
</li>
<li class="file-stats">
<a href="#0cc2a36d5b50ce2c14849357d8d1de9228808598">
testsuite/tests/ghci/prog018/prog018.stdout
</a>
</li>
<li class="file-stats">
<a href="#23d045fc00c01edf5e9c38a27d472f88d86f6f4a">
testsuite/tests/parser/should_compile/T15139.stderr
</a>
</li>
<li class="file-stats">
<a href="#064e47b83f61b4ac25cf64669a030b956e09bef8">
testsuite/tests/pmcheck/complete_sigs/T13964.stderr
</a>
</li>
<li class="file-stats">
<a href="#0d2b64efff5222b8e742234cd24459060efd5c7b">
testsuite/tests/pmcheck/complete_sigs/T14059a.stderr
</a>
</li>
<li class="file-stats">
<a href="#340adf03b6f72ebd40c59fe6a6974f10d80e0bf7">
testsuite/tests/pmcheck/complete_sigs/T17386.stderr
</a>
</li>
<li class="file-stats">
<a href="#2f63e39ca6d8ccea7ca6f1cbe6519e81f0eb9b13">
testsuite/tests/pmcheck/complete_sigs/completesig02.stderr
</a>
</li>
<li class="file-stats">
<a href="#cc7b3318dfa280a9df91e4693ca518ac337225d4">
testsuite/tests/pmcheck/complete_sigs/completesig04.stderr
</a>
</li>
<li class="file-stats">
<a href="#f48ad9f411cd246039c98a45844f7b66b65e5da9">
testsuite/tests/pmcheck/complete_sigs/completesig06.stderr
</a>
</li>
<li class="file-stats">
<a href="#81fc240e85f22aaf376643d0e8b0fb1c3f60b57a">
testsuite/tests/pmcheck/complete_sigs/completesig07.stderr
</a>
</li>
<li class="file-stats">
<a href="#c95a0914b7b90af526f538b48e55ab773836c2a0">
testsuite/tests/pmcheck/complete_sigs/completesig10.stderr
</a>
</li>
<li class="file-stats">
<a href="#fb8dd369bb91f3498d41b3ab2f71f252256c2d08">
testsuite/tests/pmcheck/complete_sigs/completesig11.stderr
</a>
</li>
<li class="file-stats">
<a href="#3d90d204b1ee67dd5a472659ed7978164f3061ad">
testsuite/tests/pmcheck/should_compile/EmptyCase001.stderr
</a>
</li>
<li class="file-stats">
<a href="#6bf49c1e1342212ba7fc531362dacc880df604c9">
testsuite/tests/pmcheck/should_compile/EmptyCase002.stderr
</a>
</li>
<li class="file-stats">
<a href="#bea6aa5541baae120acccd04680df48a045584c7">
testsuite/tests/pmcheck/should_compile/EmptyCase003.stderr
</a>
</li>
<li class="file-stats">
<a href="#6a98d7fb97b8822cbba5291b0b6481489985676d">
testsuite/tests/pmcheck/should_compile/EmptyCase004.stderr
</a>
</li>
<li class="file-stats">
<a href="#56e36dae407e35b72f28e9bad4a5e9e8e0cd4ccd">
testsuite/tests/pmcheck/should_compile/EmptyCase005.stderr
</a>
</li>
<li class="file-stats">
<a href="#4c170a38b83c55fb6acfc83ef0f14ed4f28b372a">
testsuite/tests/pmcheck/should_compile/EmptyCase006.stderr
</a>
</li>
<li class="file-stats">
<a href="#6d504ff3d8661754c26469a019bea66bb7edb7d4">
testsuite/tests/pmcheck/should_compile/EmptyCase007.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: #666;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9667ab7d2fe7f115902003638a2a9e9a61576fb8">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.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.haskell.org/ghc/ghc/-/commit/9667ab7d2fe7f115902003638a2a9e9a61576fb8"}}</script>
</p>
</div>
</body>
</html>