1 // { dg-require-effective-target c++11 }
2 
3 template <bool> struct A;
4 class Vector {
5   template <typename> struct TypeIsGCThing {
6     template <typename T, typename A<T ::value>::Type> using Vector = Vector;
7     struct B;
8     template <typename> class ContainerIter {
9       using Action = B;
10       using ActionVector = Vector<Action, 0>;
11       ContainerIter<ActionVector> a;
12     };
13   };
14 };
15