1// { dg-do assemble } 2// Origin: Mark Mitchell <mark@codesourcery.com> 3 4template <class T> 5struct S { 6 template <class U> 7 struct I { 8 typedef U X; 9 10 X f(); 11 }; 12}; 13 14 15template <class T> 16template <class U> 17typename S<T>::template I<U>::X S<T>::I<U>::f() {} 18