<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55642>55642</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
template template reportedly undefined
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
uohmak4fvpqe
</td>
</tr>
</table>
<pre>
clang trunk (```-std=c++20```) fails on the following code :
```
#include<tuple>
#include<type_traits>
template<class>struct type_unpack;
template<template<class/*...*/>class Pack,class T>struct type_unpack<Pack<T>>:std::type_identity<T>{};
static type_unpack<std::tuple<int>> t[[maybe_unused]];
int main(){
return 0;
}
```
the fix I found is to add the ```...```. GCC trunk compiles with or without the ellipsis.
Tested on godbolt
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx1Uktz2yAQ_jXowkSjgGVHBx38SDq95ZB7B4m1TI1BFUtS__suqJY7bcPssIv29Wm_7by-tr1VbuA4RXfmTDyxdTXLQ0DN5KFnYkciqsXBRMOPytjAveN4An701voPQ1V6r4EzuWXVgVW3e8mbn0Ia19uogck9xtGSfv6f6zrCN5yUwXAPyDfCZbQKUxBhD8kdCH6PPOdEN6r-zORujuZ0_sj4J1m8MLEty5LuZMvn_Jm_phpijuFvn7TYv84q-bNs88y2JDnOaHBo8HoL2ezY5rAgm--ACk3_V917mXlAe-Nw7sGR1TuSi7p2KSEG0Kw-JLnVpVh-UcYlMkWTmi6DmADj5Hh1x0B4Pucqk2t-8q9EcXSam8DRc6V1pn0JTtNbbP5lv_-9Tb2_jMZC4B8GT9xPWfuIORusNWMwoZxbvUFA0GmjBq87b7HQrdSNbFRBE7TQ3ohbyKSfGf1ESfbKCRwcjQNdxMm2J8QxpPklbl8Gahq7ksDQw9r3m3oYJ_8deqSnCSFCWoW6Xq9EcWpXm7WAbtNL2NQ9VE0NSummI0utKpBVYVUHNrSJCyEcfPBcgmwiojCtqISoakFH1rIpu-Nx_VStKin69UY8PjIqQgzZMuEo_TQUU5shdXEI5LQmYLg7aQXN4AByO6qvIo1xaqM_XdR5dXwff0CR-7cZ_y9yNCuz">