// RUN: clang-cc -fsyntax-only -verify %s template struct X { X *ptr; }; X x; template<> struct X { typedef X *ptr; }; // FIXME: EDG rejects this in their strict-conformance mode, but I // don't see any wording making this ill-formed. X::X xi = x;