// Test that the second foo is not considered more specialized because we don't | |
// compare constraints unless the template parameters and function parameters | |
// are equivalent (P2113) | |
// { dg-do compile { target c++20 } } | |
template <typename T> concept P = true; | |
template <typename T> void foo(int, T); | |
template <P U> void foo(U, int); | |
void bar() { foo(1,2); } // { dg-error "ambiguous" } |