http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45917
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2010.10.06 21:40:27 Ever Confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-06 21:40:27 UTC --- (In reply to comment #0) > class F declares class Q a friend There's no need for that, Q is a member of F so has access like any other member. Reduced: template<class T> struct list { struct nested { }; }; class F { struct R { }; class Q { friend void f(const Q &q) { list<R>::nested n; } }; };