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