1 // { dg-do compile } 2 3 // PR c++/5387 4 // Enforcing access of typename type. 5 6 template <class T> struct A { 7 typename T::template X<int> x; // { dg-error "this context" } 8 }; 9 10 class B { 11 template <class T> class X {}; // { dg-message "private" } 12 }; 13 main()14int main() 15 { 16 A<B> ab; // { dg-message "required" } 17 } 18