2 /* { dg-do compile } */
4 // The 'class X' inside the template used to escape (somehow),
5 // so that the typedef claimed that it was redefining X.
7 template <typename T> struct S ;
9 template <> struct S<float>
11 template <class, class> struct R;
12 template <class X> struct R<X, X> { };