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