https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61421
--- Comment #15 from Andrew Pinski <pinskia at gcc dot gnu.org> --- template<class T> class list2 { public: struct node { node *next; node *prev; }; node anchor; public: /* API */ } struct Obj : list2<Obj>::node { /* obj-specific elements */ } list2<Obj> main_list;