<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/77309>77309</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang 16 bug: unnecessary qualification of symbol demanded.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hatcat
</td>
</tr>
</table>
<pre>
I believe I have found a bug in the 16.0.0 (assertions) version, minimum repro with comparisons with other compilers at [](https://godbolt.org/z/MPGG35jhc)
This is also visible in Apple clang version 15.0.0 (clang-1500.1.0.2.5)
```
template <typename T> concept copyable = true;
template <copyable T> void get(T) { }
template <typename X>
struct base
{
template <copyable T> friend void get(T);
};
void test1()
{
base<int> b;
get(b); // Scope resolution demanded
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0k8FuozAQhp9muIyKjB0gHDikTVP1sNJK28NejRmCK2Oztskq-_QrIE3aSEUIhBn__zfjGRmCPlqiGvJHyPeJnGLvfN3LqGRMGtee61dsyGg6Eb5iL0-EnZtsixKb6YjaYuwJsyJlKUPgWxkC-aidDcArPJEP2lngTzhoq4dpQE-jd_hXxx6VG0bpdXA2rAsu9uSXZW3IB5QRVy7g2z7GMYDYAT8APxxd2zgTU-ePwA__gB9-_Hx5Efl7r4BXwPbAduvzrdcBdUBpgsOTDroxNGPvxtEQKiPt8QMTs_wjjWX9IcsZS7OUpTzN72ShYJd7-Yw0jEZGQhBP8TySlQPhG4hnVM4qGiMqN57l7A1ij9FPBOLxs-BnhWvsonByusUjReDbt7moUD4ilPvvNl_tf4N4Xn-H6CcVsZGBLrvKizci4vfOnddk23uAG3i5v0tiiYwUYgZ8e6vYZ7cFQjxpG2eH5ipwMWhWA_x6rYeOv5QbCT0FZ6a5x7ClQdqW2hvP18NJ2lq0lahkQnVWsk3JeZHlSV-3edlVpeh4k29EoXjHFc9EV2VFwaTKKdE1Z3zDMrbNNkzwIu3anHdKFNRULGNCwIbRILVJjTkNcx8mOoSJ6rIUrEqMbMiEZao4X5oJOJ8HzNdz_EMzHQNsmNEhhptC1NFQvfZkVswDBmKHk7WkKATpz_hnkkZ3WsklfddhOA-NM9dCpMnkTX03Kzr2U5MqNwA_zF6X18Po3TupCPywoAfgh4X-fwAAAP__aks5_g">