1// { dg-do compile } 2 3// PR c++/3663 4// Enforce access of nested type. 5 6template <typename A> 7class S { 8 class T {}; // { dg-error "private" } 9}; 10 11template <typename A> 12typename A::T* f (A) { // { dg-error "this context" } 13 return 0; 14} 15 16void g () { 17 f (S<int> ()); // { dg-message "required|no match" } 18} 19