1 struct A { static const bool b=false; };
2 
3 struct B { typedef A X; };
4 
5 template <bool> struct C {};
6 
7 template <typename T> struct D
8 {
9    C<T::X> c;                   // { dg-error "parsed as a non-type|if a type is meant" }
10 };
11 
12 D<B> d;                         // { dg-message "required from here" }
13