1 // PR c++/57831
2 
3 struct A {
4   void f();
5 };
6 template <class T> struct B : T {
7   typedef T base;
8   using base::f;         // If I write "using B<T>::f" it's ok
gB9   void g( ) {
10     B<T>::f();           // This is OK as expected
11     (this->*&T::f)();    // This is also OK
12     (this->*&B<T>::f)(); // This causes error
13   }
14 };
15 template struct B< A >;
16