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