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