https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78615
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I don't think this is valid code and here is why: struct QListNode is incomplete. You use an instantiation of QList<int> via class B which means all methods of QList<int> are instantiated.