// { dg-options "-std=c++17 -fconcepts" } template concept bool C1 = __is_same_as(T, int); template concept bool C2 = N == 0; template class X> concept bool C3 = true; template struct Foo; // Type template parameters template struct S1 { }; template struct S2; template struct S2 { }; // Non-type template parameters template struct S3 { }; template struct S4; template struct S4 { }; // Template template parameters template struct S5 { }; template struct S6; template struct S6 { }; S1<> s1; S2<> s2; S3<> s3; S4<> s4; S5<> s5; S6<> s6;