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