// { dg-do compile { target c++20 } } template concept C = __is_class(T); template concept D = C && __is_empty(T); struct X { }; struct Y { int n; }; template struct S { void f1() { } }; // #1 template struct S { void f2() { } }; // #2 template struct S { void f3() { } }; // #3 template struct S; // Instantiate #1 template struct S; // Instantiate #2 template struct S; // Instantiate #2 int main() { S i; i.f1(); S x; x.f3(); S y; y.f2(); }