1 struct x {
foox2     int foo () { return 0; }
3 };
4 
5 template <class T>
6 struct vector {
barvector7     T& bar () { static T a; return a; }
8 };
9 
10 template <class T>
11 struct y {
12     typedef struct {
13         x t;
14     } s;
15 
16     vector<s> array;
17 
fooy18     int foo ()
19       { return array.bar().t.foo(); }
20 };
21 int i = y<x>().foo ();
22