1 // Build don't link:
2 
3 template <class T>
4 class S2
5 {
6 public:
7   static void f();
8 };
9 
10 class S1
11 {
12   template <class T>
13   friend class S2;
14 
15   static int i;
16 };
17 
18 template <class T>
19 void S2<T>::f()
20 {
21   S1::i = 3;
22 }
23 
24 void g()
25 {
26   S2<double>::f();
27   S2<char>::f();
28 }
29