<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63271>63271</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang frontend C++ crash on decltype in lambda params
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
brutalsavage
</td>
</tr>
</table>
<pre>
To quickly reproduce: https://gcc.godbolt.org/z/nY66xvnv5 (assertion-trunk)
```cpp
#include <tuple>
template<typename L>
auto apply_lambda(L l)
{
return [l = std::move(l)] (std::tuple<decltype(l)> &tuple)
{
return 0;
};
}
int main()
{
return 0;
}
```
Compiling the above code crashes clang `clang++ -x c++ `, crashes locally using clang-17.0 (a10019a), also on trunk with assertion (see godbolt link)
Note on gcc-trunk (also see godbolt link), the code compiles correctly.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsU8GSozgM_RpxUSVF7IHAgUNCJqepPe1lT1vGVhNvG5u1TbqzX79lh6S7ppuiQCBLT096EiHo0RJ1UB2hOhViiRfnu8EvUZggrmKkYnDq1v3p8N9Fy1dzQ0-zd2qRBPyAlxjnAPwA7AzsPEq5HZ0anIlb50dg5_-Ane1fdf1-tdcKgTUiBPJRO7uJfrGvwFooT1Ae1mdd3m85z-sfxrWVZlGEwPu4zIaA__wcE2majYiU3LeZrJgIfz3PiCU6FPNsbn8bMQ1KAGt-ofnA3R_vBq6Xp7h4i1AdDQI_YYgq8eOHyV0JWJNDq1Pi8nStZfWKpEk1PI7xnwisvnsfgA-cL8CfwEvgDyfsT8-PZGdD24iT0BZY8z2RL3meoc8Of25h76ZZG21HjBdCMbgroXSKUHoRLhRQGmFHTHNJBrAjsCNu3lGuZsrH-udx46Qw5oZLSDlzzGa335ZZALuy3LUi1c16FCY4dBazGPBNxws-FZJbTISrotDoL3r5w0VK4aOUdz1lhJTzu0DWZ353Zplyoua8JxnNbYuF6rhqeSsK6nZ1U1dt21RVcel4w0UreSWZKknJZiiT3UipuBhargrdsZLxst6xXVvtebUdWvFS8ZoL0eyHshrgR0mT0GZrzHVKu1HoEBbqas72u8KIgUzIS8iYpTfMTmAs7aTvUsxmWMYAP0qjQwwfWaKOhro-j-fFOxvJKuzXqeRxpPY8dIna4n0LcBZeTAGLxZvutyXW8bIMW-kmYOcEtL42s3f_kIzAzrm8AOycy_8_AAD___KLR44">