// { dg-do compile { target c++20 } } template concept Int = __is_same_as(T, int); template struct Foo; // Instantiation of default arguments happens at the point of // instantiation for the class. template struct S1 { }; template struct S2 { }; S1<> s1; // { dg-error "constraint failure" } S2<> s2; // { dg-error "placeholder constraints not satisfied" }