1 // { dg-do compile { target c++11 } }
4 // The type-id in an alias template declaration shall not refer
5 // to the alias template being declared. The type produced by an
6 // alias template specialization shall not directly or indirectly
7 // make use of that specialization.
9 template <class T> struct A;
10 template <class T> using B = typename A<T>::U; // { dg-error "type" }
11 template <class T> struct A {
14 B<short> b; // { dg-error "invalid type" }