// { dg-options "-std=c++17 -fconcepts" } template concept bool C1 = __is_class(T); template concept bool C2() { return __is_class(T); } template constexpr bool C3 = __is_class(T); template requires C1() // { dg-error "" } void f1(U) { } template requires C2 // { dg-error "invalid reference" } void f2(U) { } template // { dg-error "not a type" } void f(T) { } // { dg-error "" }