I find myself reviewing yet another C++ book. This time it's a new edition, not a new book. So it's already in a good shape and doesn't need much comment. This makes my work a lot easier.
For GCC, I just get back to member class as template friend feature as in code like
class C { template <class T> friend class A<T>::X; }One more step is accomplished: checking class-key syntax error for codes like
template <class T> class C { friend typename T::X; // Syntax error friend typename T::X f(); // OK };is moved to parser. The new friend feature requires the same internal representation as 'typename' so the diagnostics of such error cannot be performed in later stages. Next step: making friend codes able to handle the typename representation.