// { dg-do compile { target c++20 } } template concept Fooable = requires(T t) { foo(t); }; // { dg-error "depends on itself" } template void foo(T t) { } void test() { struct S {} s; foo(s); // { dg-error "no match" } }