http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45917
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |accepts-invalid Summary|Friend of friend is allowed |inaccessible types allowed |the access to the private |as template argument in |type through the template |nested-name-specifier --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-06 21:48:01 UTC --- Here's another variation that should fail but doesn't, showing this has nothing to do with friends: template<class T> struct list { struct nested { }; }; class F { struct R { }; }; void f() { list<F::R>::nested n; } list<F::R>::nested n; I've changed the summary to reflect this