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