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