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