<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">