If we try and make \class{A} inherit from \class{B<A>} which is friends with A's constructor, the compiler segfaults.
template<typename T> class B { public: friend T::T(B&); // void some() // { // T t = T::T(*this); // } }; class A : public B<A> { public: A(B<A>& b); }; A::A(B<A>& b) :B<A>(b) { } -- Summary: Friend of template argument constructor Product: gcc Version: 3.3.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: charles dot gretton at gmail dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21601