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