<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/140370>140370</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang] Assertion `BaseTy->castAs<RecordType>()->getDecl()->getCanonicalDecl() == FD->getParent()->getCanonicalDecl() && "record / field mismatch"' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
k-arrows
</td>
</tr>
</table>
<pre>
Reproducer:
https://godbolt.org/z/a3jnKEz54
```cpp
template <class T> void f(T);
template <class U> class C {
template <class T> friend void f(T) {
C<U> c;
c.i = 0;
}
int i;
};
int main() {
f(0);
C<float> c;
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEUk2PmzAQ_TXDxUrkjDGEA4dsCJdeqlX6A4wZEm8NRrbZavfXVw7Zr6pVJSSs8bz3xm-eCsFcJqIa5APIJlNLvDpf_9wo792vkHWuf6kfafauXzR5EAfgh2uMc0hHbAHbi-s7Z-PW-Qtg-wrYKvE0fTu9yhz4AQq-fnqegR8ijbNVkRiIo7YqBHYGcWLPzvRsANyfASsQDwn4t-YfqXk9HhmUqY-xf3AO3tDUf6V-xzB2BHFc6Va9VNNbw0A0jL-VoGzWURgzU2TmPlrZvM-YyqMyE-D-M38S5O9vWdUG61T8pHgnfzMo62vRV6JSGdW7Mi_zsqoqnl1r0kKhoH1e5BVhV8i-y_eF1PthV-RKyszUyFFyuSt3O14IvlVyKLnmFZVdITrZQc5pVMZurX0e06IyE8JC9S7nouSZVR3ZcIsAorZqugBiSoOvE2DTLZcAObcmxPBBEU20t9ysCNmwQwjko3ETg4I_qEDnlw2Ik1YhHgKI4yNp5_vzy0wgTqth6f5CsSFtvxSOanKT0cp-3KTNpOW0zb3nu_I0xf_DsAAsGCD6mz4DbNlgyPZsNGFUUV_Tc7FkgzKW-m22eFv_kXETr0u31W4EbJMD999m9u6JdARsb44GwPZu6nONvwMAAP__-xX4GQ">