1// { dg-do assemble  }
2// Origin: Mark Mitchell <mark@codesourcery.com>
3
4template <class T>
5struct S1
6{
7  template <class U>
8  struct S2
9  {
10    S2(U);
11  };
12
13  template <class U>
14  void f(U u)
15    {
16      S2<U> s2u(u);
17    }
18};
19
20void g()
21{
22  S1<int> s1;
23  s1.f(3.0);
24}
25
26