https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116943
--- Comment #2 from mauro russo <ing.russomauro at gmail dot com> --- thank you Andrew Pinski, do you have also any explanation from the standard, why it should be rejected ? That is, where the instantiation comes on ? Or why this does not implicitly contradicts the option to redefine class members for the implicit instantiation ? It is just matter of dependency among class members ? I also hope the standard may be clarified in the future about the kind of matching (restrictions vs freedom) that have to be in place for the specialized definition of members of an implicitly class template instantiation. What I currently read in [temp.expl.spec] (from a draft for C++20) is "A member or a member template of a class template may be explicitly specialized for a given implicit instantiation of the class template, even if the member or member template is defined in the class template definition. An explicit specialization of a member or member template is specified using the syntax for explicit specialization." but this consideration likely leads out of topic.