// { dg-do compile { target c++20 } } template concept check_c = false; template concept c1 = requires (T x) { requires check_c; }; template void f1() { } template void f2(T x) requires requires { requires check_c; } { } template constexpr bool check_f() { return false; } template concept c2 = requires (T x) { requires check_f(); }; template void f3() { } template void f4(T x) requires requires { requires check_f(); } { } template constexpr bool check_v = false; template concept c3 = requires (T x) { requires check_v; }; template void f5() { } template void f6(T x) requires requires { requires check_v; } { } void test() { f1(); // { dg-error "no match" } f2(0); // { dg-error "no match" } f3(); // { dg-error "no match" } f4(0); // { dg-error "no match" } f5(); // { dg-error "no match" } f6(0); // { dg-error "no match" } }