<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/58919>58919</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Concept expansion segfault
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mwalcott3
</td>
</tr>
</table>
<pre>
clang 15.0.0 crashes with a segfault when compiling the following code:
```c++
template <class U, class T>
concept always_true = true;
template <class T>
struct foo {
T value;
};
template <class... T>
struct bar : foo<T>... {
template <always_true<T>... U>
auto func(U&&... values) {
}
};
int main() {
using T = bar<bar<float, int>, bar<float, char>, bar<float, double>>;
T{};
}
```
[crash_backtrace.txt](https://github.com/llvm/llvm-project/files/9983944/crash_backtrace.txt)
[godbolt](https://godbolt.org/z/1rE4bME4q)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVU01zmzAQ_TXioikDEh_WgUP8devNOWeEEKBWRhSJkPTXdwWOg2N3OmUWsWKf3r5dltJU74XQvGtwnIZRGGExcNtKiyflWsyxlU3NR-3w1MoOC3PulVaAdq3EtdHaTH4nTCURfULRHkWXFaMsWkwgsvU2v3by3GvuJEZ0B3mtxc-I7PDinhA9LDBhOiF7h7me-Lt9ccPoT-yxdxDdrhPdM37SWMALB0INRvnlFIbrhF-5XjPl-3-xhmF4T1zyAQBPPgHgfNjDblKtiVbVrODPV1aP56MzuB476NoGWpOBedCs1yLCbtm98L9UsKyqc_jMVQdsd4dH67_daW4sVAKSlrXWhjv_VeCw1wbel4Bo_f5RpDJjqaWPeVu33Kdei7wq_5iTG_Hpdh7El5KLn27gQobuzaF0D3W0zvXWTxs5gjUwp2MZwmTCRuvXj8e3fjA_pABRx1pp37ojYxvKkgS8R9yEXVM3piqNfpxuCYVmaGD3G-54OCTl90PyCxgCWcRZtomjPKM0qApaMcp44JTTsthdZlq-9byzynTXnysYB138d1nK2nkkjumGxSxoC5HzhCdlTOqIUpmmrKS0ZBnhhNQZBYjmpdS2gAoRIZ2c8EwBPlQaqIJEhMRxHMUspikJsyRlOUsYT1iU5skGJZGEUdKh1-EbEAzFLKkcGwtBrayzn0H4Z1TTSTmnA34Y7NYMxXniWhjnaDAnL2bxfwCOWVJT">