https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106223
--- Comment #9 from Nimrod ---
(In reply to Nimrod from comment #7)
> Sorry, I quoted the wrong paragraph. It should be
> https://timsong-cpp.github.io/cppwp/n4659/namespace.std#2
https://timsong-cpp.github.io/cppwp/n4659/namespace.std#1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106223
--- Comment #8 from Nimrod ---
(In reply to Jonathan Wakely from comment #6)
> (In reply to Nimrod from comment #4)
> > https://timsong-cpp.github.io/cppwp/n4659/func.require#3
> > "...A forwarding call wrapper is a call wrapper that can be call
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106223
--- Comment #7 from Nimrod ---
(In reply to Jonathan Wakely from comment #5)
> That paragraph has nothing to do with your case, you are adding a
> specialization, not an explicit instantiation.
Sorry, I quoted the wrong paragraph. It should be
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106223
--- Comment #4 from Nimrod ---
Ok, that somehow makes sense to me. I agree with the forwarding part, as a
normal case, is doing nothing and keep the type.
But I don't find any wordings about "value" or "internal state" in terms of
"(perfect) for
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106223
--- Comment #2 from Nimrod ---
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106223
Bug ID: 106223
Summary: difference in behaviour between no optimization and -O
for specialization of std::forward
Product: gcc
Version: 12.0
Status: UNCONFIRMED