// Origin PR c++/51641 | |
// { dg-do compile } | |
struct A { | |
struct B { typedef int X; }; | |
}; | |
template<class B> struct C : A { | |
B::X q; // Ok: A::B. | |
struct U { typedef int X; }; | |
template<class U> | |
struct D; | |
}; | |
template<class B> | |
template<class U> | |
struct C<B>::D { | |
typename U::X r; // { dg-error "" } | |
}; | |
C<int>::D<double> y; | |