https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87249
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- Yes, if you only declare the function template in the header and define it in some other .cpp file, then of course you need to explicitly instantiate it to generate code for that specialization. This bug was INVALID, not FIXED.