3 template < class > struct S
5 template < class > struct A
7 template < class > struct B
10 void operator=(Z) { S::i = 0; }
14 // Note that this friend declaration is useless, since nested classes are
15 // already friends of their enclosing class.
19 friend void A < X >::B < Y >::operator= (Z);
27 S<int>::A<int>::B<int> b;