// { dg-do assemble } // Origin: Mark Mitchell template struct S { template struct I { typedef U X; X f(); }; }; template template typename S::template I::X S::I::f() {}