<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/122523>122523</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Unique function identifier considered ambiguous as part of an overload set
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
03F001
</td>
</tr>
</table>
<pre>
clang 19.1
```cpp
#include <concepts>
template <typename T>
void f(T) {}
template <typename T>
requires std::same_as<T, int>
void f(T) {}
int main() {
auto a = f<int>; // error: variable 'a' with type 'auto' has incompatible initializer of type '<overloaded function type>'
}
```
I don't know whether this should compile, but gcc does accept it. At least the diagnostic could use some work.
https://godbolt.org/z/bojPze9Kf
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEUsGOozgQ_RpzKU0ENoTkwCGd3kirveyh97wydgE1Y2zGLiea_vqVSfeONJeRLCHqles9v1c6JZo94iC6F9G9VjrzEuJQq1tdN9UY7I_BOO1naM6HRtSXco7185htK79SkTcuWwShriZ4gxsnof54djOum9O8g_xjQ69XhLcnfA9kYRLy9CbkGUT_IvrX39-K-D1TxASJrVAXoS5Jr_ivTkJd34S8Ann-3XzyDKsmL-TpEyr1s84cQINQrzAJdf2YpF5AyJuQN8AYQxTqAncdSY8OQcheC9nDg3iBInWvZA6luOgE5E1YN81UuskTk3b0jhHC9H-_UNdwx-iCtmhhyt4wBb_DhV_2Rd1T-6f5z3f8CTZ4IXuGbz484LEgLxiBF0qQlpCdhcJODosxY2aYjQEbMIE2JSggPsCFwaFODLwgWNKzD4nJgNkH5ISQworwCPHb4cm7MG-pmL_bMgc7BseHEGchb-9C3sbw9e93PP81VXZQ9qzOusKh6dWxa6U6dtUyWDkdp0adG3Ou-_7YdtieJOLRjl17bNupokHWsqubppZ1J9vu0LbYnMax6XWHaKdJtDWumtzBuftauCtKKePQSNlJVTk9okv7Xkvp8QE7KqQsax6HcunLmOck2tpR4vRzDBM7HP7x9D3jzzDIomeaCCOY4BNZjGhBryPNOeQEOsGmI5dYtYfPOCEhVzm64RfHiJc8HkxYhbwV4o_Ply2Gr2hYyNsuNwl5-3jPfZD_BQAA___Xzyai">