https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95200
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- That's [temp.expl.spec] paragraph 7: If a template, a member template or a member of a class template is explicitly specialized then that specialization shall be declared before the first use of that specialization that would cause an implicit instantiation to take place, in every translation unit in which such a use occurs; no diagnostic is required.