2 // { dg-do compile { target c++11 } }
4 template<typename T> struct template1;
6 template<typename T, typename> // second param required
8 using type1 = decltype(T::x);
9 using type2 = template1<type1>;
12 template<typename T> using alias1 = template1<decltype(T::x)>;
14 // just for instantiation:
15 template<typename T> using alias2 = alias1<T>;