<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/109869>109869</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] clang-19 regression in template keyword
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Jannik2099
</td>
</tr>
</table>
<pre>
Apologies for the terrible title, but I don't even know what this language expression is called.
Initially discovered when compiling [webkit-gtk](https://www.webkitgtk.org/) v2.44.1
```txt
/var/tmp/portage/net-libs/webkit-gtk-2.44.1/work/webkitgtk-2.44.1/Source/JavaScriptCore/runtime/JSCast.h:239:33: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
239 | return Dispatcher::template inherits(from);
| ^
```
cvise gives me
```cpp
template <typename Target> void inherits() {
using Dispatcher = Target;
Dispatcher::template inherits0;
}
```
godbolt https://godbolt.org/z/c96Ez3jas
CC @mizvekov @sdkrystian as per discussion on discord.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEVF-PozgM_zTpi0UFCQzlgYdOO0i7r3PSPQdwIUtIUGJgOp_-FNrpdvdOtwhBZMc_2z__kd6rziCWLHtl2XknZ-qtK79LY9TA46LY1ba9lsfJatsp9HCxDqhHIHRO1RqBFGlk_AT1TPANWmsYzwlwQQODsSusvSSgXnnQ0nSz7BDwY3LovbIGlIdGao3tnsVnFh9v329GkZJaX6FVvrELOmxh7dFAY8dJaWU6YNnrivWgKOpoYNmZ8UNPNHkmjoxXjFfruu5vNzoa9tZ1m7iAhe_TdJ88-2Mv8e2lD7pLeLVIx3hF48R4NVlHskPGK4MUaVX74ODhPrpD8mq1bnioftG829k1AeG7XOR749REJ-uCwM2G1Lip3k_S075n4shFwcRRCCaOgM5ZFw4SCMdJS0KQrptHNARaeQo04seEDWEL8kLoQIKRI8Lk8KI-sIX6eq_b3X7A62pdG2iM_h6V98p00Zc2kq6LAnC0gf2UD2tgemMIgIsCWH4ChzQ7A2flJ0lNjyFUJo4PV8r06BR5xg8XZ0fGCyZev0DCE0BY9vZbLZ4L1CzKI3RqQQ8j_mfpmmm6SR5-mTjRdcKNh7-k65CYeIPFqvY5pNASLH_EMwcinnIBJs4P669bf0w1ftxl-fl_8upsW1tN8Gvn3qX3nv1kvGqKl7dP8UP6Z-PTCVgaj-pzwcEu4ezbwV09KWlAepjQbfMz30bNmts0ua9Z27WlaAtRyB2WSc5znmSxOOz6UuR1cpGHTMYvaSqaQ5295DJOMWubOOdFvlMlj3kaFzzlSZYnh70ouGhakcZcXNoiqVka4yiV3mu9jCGPnfJ-xjKJi8NLsdOyRu23pcN5E_YC4zzsH1cGg6ieO8_SOHSg_wmxrZpgdLPIzrAdoqQAh91jo5h_Nfludrr8jWJF_Vzvm9COVfBw_0WTsz-wIcarLeIw5_egl5L_EwAA___IJKC5">