/* PR c++/4633 *//* { dg-do compile } */// The 'class X' inside the template used to escape (somehow),// so that the typedef claimed that it was redefining X.template<typenameT>structS;template<>structS<float>{template<class,class>structR;template<classX>structR<X,X>{};typedefintX;};