// Reduced from the testcase for c++/29433 template struct A: T { void f(typename T::type); using T::f; void g() { f(1); } }; template struct B: T { typedef int type; }; struct C { typedef double type; void f(); }; int main() { A > > a; a.g(); }