https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106223

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Nimrod from comment #2)
> Quoted from https://timsong-cpp.github.io/cppwp/n4659/namespace.std#2
> 
> "A program may explicitly instantiate a template defined in the standard
> library only if the declaration depends on the name of a user-defined type
> and the instantiation meets the standard library requirements for the
> original template."

That paragraph has nothing to do with your case, you are adding a
specialization, not an explicit instantiation.

If the standard allows this nonsense then it needs to be fixed. std::move and
std::forward are effectively built-in language primitives, and you should not
be messing with them.

Reply via email to