1// { dg-do assemble } 2 3template <class T> 4struct S1 5{ 6 template <class U> 7 struct S2 8 { 9 S2(U); 10 11 void g() 12 { 13 S2<U> s2u (u); 14 } 15 16 U& u; 17 }; 18 19 template <class U> 20 void f(U u) 21 { 22 S2<U> s2u(u); 23 s2u.g(); 24 } 25}; 26 27void g() 28{ 29 S1<int> s1; 30 s1.f(3.0); 31} 32 33