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