1// Reduced from the testcase for c++/29433
2
3template <class T>
4struct A: T
5{
6  void f(typename T::type);
7  using T::f;
8  void g() { f(1); }
9};
10
11template <class T>
12struct B: T
13{ typedef int type; };
14
15struct C
16{
17  typedef double type;
18  void f();
19};
20
21int main()
22{
23  A<B<A<C> > > a;
24  a.g();
25}
26