1 template <typename T> struct B { typedef typename T::X X; };
2 template <typename T> struct A { typedef B<T>::X::Y Z; }; // { dg-error "before 'B<T>::X::Y' because 'B<T>::X'" "" { target c++17_down } }
3