1 2 3 4 5 6 7 8 9 10 11 12 13
// { dg-do compile { target c++20 } } template<typename T> concept Fooable = requires(T t) { foo(t); }; // { dg-error "depends on itself" } template<Fooable T> void foo(T t) { } void test() { struct S {} s; foo(s); // { dg-error "no match" } }