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