1// PR c++/23211
2// { dg-do compile }
3
4template<class T>
5struct foo
6{
7  typedef int jtype;
8  struct bar
9  {
10    using typename foo<T>::jtype; // { dg-error "not a base type" }
11    using foo<T>::jtype; // { dg-error "not a base type" }
12  };
13};
14
15template <class T>
16struct A : T
17{
18    using T::i;
19    using typename T::type;
20};
21
22struct B1 {};
23template <class T> struct B2 {};
24
25template <class T>
26struct C : B1, B2<T>
27{
28    using B1::x; // { dg-error "no member" }
29    using B2<T>::y;
30    using typename B2<T>::type;
31};
32