1 // PR c++/56323
2 // { dg-do compile { target c++11 } }
3 
4 struct A {
5   A(int i);
6 };
7 
8 typedef A B;
9 
10 struct C : B {
11   using B::B;
12 };
13 
14 struct D : B {
15   using B::A;
16 };
17 
18 C c(0);
19 D d(0);
20 
21 template <class T>
22 struct E {
23   typedef T type;
24 };
25 
26 template <class T>
27 struct F : E<T>::type {
28   using E<T>::type::type; // error: E<T>::type is a typedef
29 };
30 
31 F<A> f(0);
32 
33 template <class T>
34 struct AT
35 {
36   AT(T);
37 };
38 
39 template <template <class> class T>
40 struct G : T<int>
41 {
42   using T<int>::T;
43 };
44 
45 G<AT> g(0);
46