1 // { dg-do assemble  }
2 
3 template <class T>
4 struct S1
5 {
6   template <class U>
7   struct S2 {};
8 
9   template <class X, class Y, class Z>
fS110   void f(X, Y, Z)
11     {
12       S2<Z> s2z;
13     }
14 
15   template <class X, class Z>
gS116   void g(X, Z)
17     {
18       S2<Z> s2z;
19     }
20 };
21 
22 
h()23 void h()
24 {
25   S1<int> si;
26   si.g(3, 4);
27 }
28