https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116943
--- Comment #3 from mauro russo <ing.russomauro at gmail dot com> --- may I suppose that the following text from [temp.inst]: The implicit instantiation of a class template specialization causes - the implicit instantiation of the declarations, but not of the definitions, of the non-deleted class member functions, member classes, scoped member enumerations, static data members, member templates, and friends; and - the implicit instantiation of the definitions of deleted member functions, unscoped member enumerations, and member anonymous unions. implies that in my example the declaration of the class member Q is instantiated but not its definition, and similarly for the data member q, but in turn its declaration implies the instantiation of the definition of Q ? This would formally answer to my question, despite a generalized rule might have waited for an object of the class S to be defined first. Please, confirm so that the report may be closed.