// { dg-do assemble } // Origin: Mark Mitchell template struct S1 { template struct S2 { S2(U); }; template void f(U u) { S2 s2u(u); } }; void g() { S1 s1; s1.f(3.0); }