1// { dg-do run } 2template <class T> 3class C; 4 5template <class T> 6struct S 7{ 8 template <class U> 9 void f(U u1, U u2) {} 10 11 template <class U> 12 void f(U u) 13 { 14 C<T> ct; 15 ct.i = 3; 16 } 17}; 18 19 20template <class T> 21class C 22{ 23 template <class U> 24 friend void S<T>::f(U); 25 26 int i; 27}; 28 29 30int main() 31{ 32 S<int> si; 33 si.f(3.0); 34} 35