1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// { dg-do compile { target c++2a } } template <class T> concept C = true; template <class T> requires C<typename T::foo> void f(T t) { } void f(...); template <class T> requires C<T> void g(T t) { } int main() { f(42); g(42); }