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