1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// PR c++/33501 // { dg-do compile } class A; // { dg-error "forward declaration" } template <typename T> struct X { static int f (T); // { dg-error "initializing" } static const T &make (); static const bool value = sizeof (f (make ())) == sizeof (int); // { dg-error "invalid use of incomplete type" } }; int main () { return X <A>::value; }