// { dg-options "-std=c++17 -fconcepts" } template concept bool C() { return __is_class(T); } template concept bool D() { return C() and __is_empty(T); } struct S1 { } s1; struct S2 { int n; } s2; template void f1(T x) { } template void f1(T x) { } int main() { f1(0); // { dg-error "matching" } }