// PR c++/23211 // { dg-do compile } template struct foo { typedef int jtype; struct bar { using typename foo::jtype; // { dg-error "not a base type" } using foo::jtype; // { dg-error "not a base type" } }; }; template struct A : T { using T::i; using typename T::type; }; struct B1 {}; template struct B2 {}; template struct C : B1, B2 { using B1::x; // { dg-error "no member" } using B2::y; using typename B2::type; };