<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/110558>110558</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Emit a diagnostic note at the class declaration when the method definition does not match any declaration.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
good first issue,
clang:frontend,
clang:diagnostics
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hokein
</td>
</tr>
</table>
<pre>
Considering the follow case:
```
template <class T>
class FooBar {
double Foo();
};
template <class T>
double FooBar<T>::Bar() { return 0.0; }
```
Currently, Clang only emits the error out-of-line definition of 'Bar' does not match any declaration at the Bar definition. It would be helpful to also emit a note pointing to the FooBar class declaration (GCC already does this).
See https://godbolt.org/z/GG8zvvzaP
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEUlGPmzwQ_DXLyyqI2BDggYeEHKfv7ZPaP2BgAbeON7JNTrlfXwGpcu1VrYQM6zGz45lV3uvRElWQnSA7R2oOE7tq4u-kbdRyf69qtl735LQdMUyEAxvDb9gpTyCPkJwh-bkeksezloEuV6MCIci6M8p7_AryZcO2umE-KYeQn7Zd7HluDS37IAoQJcgHAvn5-f1P9ifNSTmQ9YrII8jjUq_MS1N0FGZnMYkTkCdcevzpHttaz86RDeYOosbaKDsiW3NHuujgV2PIOXbIc9jxsDPaEvY0aKuDZos8IIh8bZ9jz-TRcsCLCt2Eyt6xp84op9azKqx8izVPhhj_C_jGs-mxJZzIXIfZYGBUxvOqAtXCSXhlbcOaFq88D5c3kz72AVG81jUq40j1901VmLQHUcYfr_6FCKcQrn7xUDQgmpH7lk2I2Y0gmncQzetr8X67vav_fxmIdY36SvalLFVE1T4XeS7SskyjqZKUdS1lMhUlFa0qDqro2qJLk06VyUENka5EItKklMm-lAeZxt1hOBSZHKhQSb7fE6QJXZQ2sTG3y6Im0t7PVO33SZYVkVEtGb_OthAjc4-Ddj7gegiEAFGDEN0SJsjj4NgGsv0noNdqtOyD7vyCZefIVUvDXTuPHtLEaB_8U0LQwVD1siXy_HcL55Ht5zDeJrIrdKEwcf9xdv4-LnE0O1P9lo8O09zGHV9ANIuwx2t3dfyNugCiWT3wIJqHV7dK_AgAAP__7jZGrw">