<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "Menlo"), DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>

<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>


<style>img {
max-width: 100%; height: auto;
}
body {
font-size: 0.875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px;
}
body {
font-family: var(--default-regular-font, -apple-system),BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px; font-family: var(--default-regular-font, -apple-system),BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";'>
<div class="content">

<h3 style="margin-top: 20px; margin-bottom: 10px;">
Andrei Borzenkov pushed to branch wip/sand-witch/modern-STV-extension-shuffling at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cb6e2d6c70bf0aa2d0a539bcf4b9c8d679fdba18">cb6e2d6c</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2023-05-16T18:17:18+04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.875rem; color: #333238; position: relative; font-family: var(--default-mono-font, "Menlo"),"DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Extension shuffling (#23291)

Where introduced 4 new extensions:
  - PatternSignatures
  - ExtendedForAllScope
  - MethodTypeVariables
  - ImplicitForAll

Tasks of ScopedTypeVariables extension were distributed between
PatternSignatures, ExtendedForAllScope and MethodTypeVariables according
to the proposal. Now ScopedTypeVaribles only implies these three exntesions.

Extension ImplicitForAll saves current behavior. NoImplicitForAll
disables implicit bounding of type variables in many contexts.

Was introduced one new warning option: -Wpattern-signature-binds
It warns when pattern signature binds into scope new type variable. For
example:

  f (a :: t) = ...
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#e65e7bbfc24f8830a20082bfc50f6d16e613cbeb">
compiler/GHC/Driver/DynFlags.hs
</a>
</li>
<li class="file-stats">
<a href="#2e5692f568fd7b67a6b172e2a60469da8392508c">
compiler/GHC/Driver/Flags.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="#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="#b768fdf8e0594bf98104ef18145fc9f16550bc06">
compiler/GHC/Tc/Deriv.hs
</a>
</li>
<li class="file-stats">
<a href="#3aa56839e36b2219f9ad54f5646ef3005da9c672">
compiler/GHC/Tc/Deriv/Generate.hs
</a>
</li>
<li class="file-stats">
<a href="#1dd9c7a6bbc222c976a6ec1c4b772232ae60f7e5">
compiler/GHC/Tc/Errors/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#cdba811872892f235fe7059df1a6c538fba60816">
compiler/GHC/Tc/Errors/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#e2c828ee9e003df518a07b05beaa6971e5c62eb0">
compiler/GHC/Types/Error/Codes.hs
</a>
</li>
<li class="file-stats">
<a href="#c69ed1e399ce62d9f23fc51d2806dab1d9b7bfd6">
docs/users_guide/expected-undocumented-flags.txt
</a>
</li>
<li class="file-stats">
<a href="#afd1105d8e32dc50acf9fc381b4433a3bcd009cf">
docs/users_guide/exts/explicit_forall.rst
</a>
</li>
<li class="file-stats">
<a href="#b26dc8b26d87b9a5d86567622e7451c78658a035">
docs/users_guide/exts/gadt.rst
</a>
</li>
<li class="file-stats">
<a href="#3c3fb776a7a13ea3573b3e1ac20575795eaf6a3d">
<span class="new-file">
+
docs/users_guide/exts/implicit_forall.rst
</span>
</a>
</li>
<li class="file-stats">
<a href="#aa2301674e0cbbe7c768058a6ef910ddc4fae0a0">
docs/users_guide/exts/scoped_type_variables.rst
</a>
</li>
<li class="file-stats">
<a href="#e1fda7a47737ee512bcbf1b5941aa3474719cae5">
docs/users_guide/exts/type_abstractions.rst
</a>
</li>
<li class="file-stats">
<a href="#3ec7d37a74696289662908fe565e86ef2919ea4c">
docs/users_guide/exts/type_signatures.rst
</a>
</li>
<li class="file-stats">
<a href="#e16ae6db99f98868d3603a0c7df0bb6a793a330d">
docs/users_guide/using-warnings.rst
</a>
</li>
<li class="file-stats">
<a href="#3f7d85c388596f9ef50f1a3e0334bdb67007e969">
libraries/ghc-boot-th/GHC/LanguageExtensions/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#9f7a74d3512ab004425ec39cbbcb9737e2ecaa82">
testsuite/tests/driver/T4437.hs
</a>
</li>
<li class="file-stats">
<a href="#10fb64339300ba97d5494953a9412237f3e10c4f">
<span class="new-file">
+
testsuite/tests/rename/should_fail/RnNoImplicitForAll.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#d445eccdf6334d17e5cd4430453332d4edadcbf3">
<span class="new-file">
+
testsuite/tests/rename/should_fail/RnNoImplicitForAll.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#7db403270e04fa32303a699a40203b3c0e8d84ea">
testsuite/tests/rename/should_fail/T11663.stderr
</a>
</li>
<li class="file-stats">
<a href="#95135d8a5f244f46024263a9647944c4b0c21044">
<span class="new-file">
+
testsuite/tests/rename/should_fail/WPatternSigBinds.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#12fc08d92552b5e21f19475a04086aaf8e1afd6a">
<span class="new-file">
+
testsuite/tests/rename/should_fail/WPatternSigBinds.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="#705b8be18c626f3ebe2ae89293ff2694d44af09e">
testsuite/tests/showIface/DocsInHiFile1.stdout
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: 0.875rem;">
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: #737278;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cb6e2d6c70bf0aa2d0a539bcf4b9c8d679fdba18">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.haskell.org">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
<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/cb6e2d6c70bf0aa2d0a539bcf4b9c8d679fdba18"}}</script>


</p>
</div>
</body>
</html>