// { dg-do compile { target c++17 } } // { dg-options "-fconcepts" } template concept C1 = __is_same_as(T, int); template concept C2 = N == 0; template class X> concept C3 = false; template struct Foo; template struct S1 { }; template struct S2 { }; // { dg-error "does not constrain a type" } template struct S3 { }; // { dg-error "does not constrain a type" } S1 s1; // { dg-error "constraint failure|invalid type" } S2<0, 1, 2> s2; // { dg-error "wrong number of template arguments" } S3 s3;