<!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, "GitLab Mono"), JetBrains Mono, 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, "GitLab Sans"),-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, "GitLab Sans"),-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;">
Marge Bot pushed to branch master 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/0f0c53a501ba7740cc896bdb3a2b153512183955">0f0c53a5</a></strong>
<div>
<span> by Vladislav Zavialov </span> <i> at 2023-12-06T16:14:09-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","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;'>T2T in Patterns (#23739)

This patch implements the T2T (term-to-type) transformation in patterns.
Patterns that are checked against a visible forall can now be written
without the `type` keyword:

          \(type t) (x :: t) -> ...   -- old
          \t (x :: t) -> ...          -- new

The `t` binder is parsed and renamed as a term pattern (Pat), but
then undergoes a conversion to a type pattern (HsTyPat).
See the new function pat_to_type_pat in compiler/GHC/Tc/Gen/Pat.hs
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#3c19c0be465f9a28d7b69f89c55648080fcc37eb">
compiler/GHC/HsToCore/Quote.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="#6b3cd9d1473c3d051b8e6eb1d32fd53ca0c18c62">
compiler/GHC/Tc/Errors/Types/PromotionErr.hs
</a>
</li>
<li class="file-stats">
<a href="#6a1f039ed7725eddef15dd5f4dc318a3434f26c9">
compiler/GHC/Tc/Gen/App.hs
</a>
</li>
<li class="file-stats">
<a href="#36920f1fa315563c590243b1b096096bc305ca70">
compiler/GHC/Tc/Gen/Head.hs
</a>
</li>
<li class="file-stats">
<a href="#3ee8be814b6c6727880deab3772e6af922524bf0">
compiler/GHC/Tc/Gen/Pat.hs
</a>
</li>
<li class="file-stats">
<a href="#e2c828ee9e003df518a07b05beaa6971e5c62eb0">
compiler/GHC/Types/Error/Codes.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="#305907f56888391e52f28a2e3efca1e5e12e6ba8">
testsuite/tests/rename/should_fail/T18740a.stderr
</a>
</li>
<li class="file-stats">
<a href="#70d61ede87c171675e261c7655e101a701317290">
testsuite/tests/rename/should_fail/T18740b.stderr
</a>
</li>
<li class="file-stats">
<a href="#ffc67579afa8e2c71442e4ec33a274fe97067a2d">
testsuite/tests/th/T14627.stderr
</a>
</li>
<li class="file-stats">
<a href="#c218b6efcfbbb965d7c72413279fcd1816902901">
testsuite/tests/th/T18740c.stderr
</a>
</li>
<li class="file-stats">
<a href="#1ab5198cd7842ba0292566c647c7edb90555e7a0">
testsuite/tests/type-data/should_fail/TDExpression.stderr
</a>
</li>
<li class="file-stats">
<a href="#75e3b53d0c6f8397fc90642ef013f05361d6c70c">
testsuite/tests/typecheck/should_fail/T19978.stderr
</a>
</li>
<li class="file-stats">
<a href="#9c251b585543602b4b740d98d38996e86ea9b71f">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_idv.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#21e7102198b550087455ac498c3bc3948971302f">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_nested.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#4e4ba11d741ab80c4a95e58ab3dc520ba94e8023">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_sig.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#77262b7a9c453b95274ae425ee6ed194ec5436a7">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_sizeOf.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#eabd52cad6e2b8d03d352f194aea493e75435623">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_symbolVal.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#dad268761a951d333f478a63c32d1fe20ac1aae0">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_th_dump1.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#298d507857f34d248c5331686bb72c7df28bef5a">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_th_dump1.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#0ee5cffa4d5556eb7ee056917dfdd54d715a02c4">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_th_pprint1.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#814f0ef5042da4e99ac878c2c6084fe8c43c79f4">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_th_pprint1.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#2e7093d3e3e5a7bccab819ae8ea3520497a1cdd5">
<span class="new-file">
+
testsuite/tests/vdq-rta/should_compile/T23739_typeRep.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#242014ff226d366ebd9d18289ffa36f8d8a91218">
testsuite/tests/vdq-rta/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#5ea5bf29f43f748b7d189369871fec2d386b9980">
testsuite/tests/vdq-rta/should_fail/T22326_fail_raw_pat.hs
</a>
</li>
<li class="file-stats">
<a href="#3838d62c72d304c506bcc84b702b41756f0d0a09">
testsuite/tests/vdq-rta/should_fail/T22326_fail_raw_pat.stderr
</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/0f0c53a501ba7740cc896bdb3a2b153512183955">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/0f0c53a501ba7740cc896bdb3a2b153512183955"}}</script>


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