1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// PR c++/65721 template<typename T> struct A { typedef T D; }; template<typename X> class B : public A<X> { using typename B::D; // { dg-error "not a base" } public: D echo(D x) { // { dg-error "D" } return x; } }; int main() { B<int> b; }