------- Comment #4 from redi at gcc dot gnu dot org 2009-12-08 09:57 -------
What's wrong with class baz : protected freeList<bar, baz> { void frob() {} friend class freeList<bar, baz>; }; or class baz : protected freeList<bar, baz> { void frob() {} template<typename T, typename U> friend void freeList<T, U>::foo(); }; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42328