<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/123441>123441</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Clang][regression] Clang crashes when type of function parameter pack of inner lambda is `decltype(outer_lambda_function_parameter_pack)` and inner lambda has requires clause
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          zwuis
      </td>
    </tr>
</table>

<pre>
    This code makes Clang 16 and newer versions crash:

```cpp
void test() {
  auto L = [](auto... x) {
    return [](decltype(x)... y) requires true {};
  };
  L(0, 1)(1, 2);
}
```

Compiler Explorer: <https://godbolt.org/z/831x11eEr>
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxkkk9zmzAQxT_NctkJg1Zg4MDBscMpx949AtZGjUBUEs6fT98Rdps0nZFHMtr3YPf9lPf6MjM3UDxCcUzUGkbrmo_XVfuks8N782PUHns7ME7qhT0ejJovKHao5gFnfmWHV3Ze29lj75QfQe4h29Yuu61-WSDbX60eMLAPQBVQjVA-xqIDwT5DtQaLzwjyiLcvAariszRN8e2_6vvmOKxu_hQM3JvwvjBQFTVR-x61jn-t2rHH4FbenMojyK9-3_4_A1UZ0AEFUA1UiXimeL5Vlcev7d26Pdhp0YYdPr0txjp2IPcI8jCGsPg4E2qB2osdOmtCat0FqP0Aaisp3oTgJwfyKRkaOdSyVgk3opRl_OUyGZtBVjycd4XsympH5_NQUNlLURZ12QlZV4luKKMiE6LKclHkMlWq6GVZZ6o4S0U9Q57xpLRJjblO8fWJ9n7lRpDMc5EY1bHxGwVEfYwYiCIQromCh269eMgzo33wnxZBB7Ohs0ERQygeHV8c-8gDFMc7LRsX7PF15BljQmjPeF7nPmg746Kcmjiww0X1L_FKzzM7NGrqBoXaI-yyL9naNbA73W5Pf1xOf11O0SVmtcs2Rv8xG5X_xKE3avWcrM4031LSYVy7tLcTUBu7vW8Pi7M_uQ9A7TY9D9TeB3ht6HcAAAD__-d2_8Q">