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

    <tr>
        <th>Summary</th>
        <td>
            [clang] Crashing during coroutine-related template instantiation with recursive TreeTransform
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    With the code given here: https://gist.github.com/lanza/99f404d08cc8b6905c6dc57e235f7a37

clang crashes with the following invocation:

```
$ clang -std=c++20 file.cpp
```

It's attempting to do some tree transformation but just getting confused and recursing forever. It eventually crashers on an assert that `idx < size()`. 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsUstq9DoMfhpnIyZ45FwXWbQdBrovnLVjK4mLxx5sJT3t0x-SaTnl5wcjXyX5u-ic3RyIBlE_i_pS6JWXmAavw5cuxmg_h38cL8ALgYmWYHYbBVgokVBPsDDfs1BPAq8Cr7PLXM6Ol3UsTbwJvB5lBF77fqpkZWVnTDc2vaxNY03dEqp6arVqhbwI-fSIxuswg0k6L5Th46f7FL2PHy7M4MIWjWYXw975V6Zo5Pd4bLGCR7FTZivUxQh8FviMEibnqTT3-9_zjvjKAtsMmplud977cgQbIccbASfagw55iul2_AXGleF9zQwz8fHexDCtmSzoYCGRWVPej6eYaKNUwisDbRR41d5_fgNOGWIAHUDnTImBF80gGunsvyDUC2T3RQI7gb1oZAmFHZTtVa8LGs5N15-xUaotlkFZW5MejT2jamrVWq2tmVQzWuqnhmzhBpSoZHtGea5q1ZZIiPbcY2e1rroaRSXppp0vvd9uZUxz4XJeaWhUd-4Lr0fy-TANYqAPOC4F4u6hNOw5p3Gds6ikd5nz_1XYsT_cdkgj6gu87Mh3ZuyaHryluLILdErkNZOFXYJ9BS5k1oHdg_HDG9_EbgRviejtR5NiTX74056_nem3n-l0T_GdDAu8HiiywOuB8r8AAAD__3XkAUI">