On LWG reflector it was pointed out that returning copy of F, may also
impact the result
of overload resolution, as without forwarding pointer parameters can be
initialized from 0:
#include
struct S {
void operator()(long, long); // 1
void operator()(int, void*); // 2
};
void foo() {
On Wed, 20 Aug 2025 at 11:08, Tomasz Kamiński wrote:
>
> This patch adjusts the implementation of bind_front(f) and bind_back(f)
> (with zero bound arguments), so it returns an auto(f) (a copy of the
> functor), rather than a specialization of Bind_front/Bind_back. This change
> is mostly unobserv
On Wed, 20 Aug 2025, Tomasz Kamiński wrote:
> This patch adjusts the implementation of bind_front(f) and bind_back(f)
> (with zero bound arguments), so it returns an auto(f) (a copy of the
> functor), rather than a specialization of Bind_front/Bind_back. This change
> is mostly unobservable, as st
On Wed, Aug 20, 2025 at 12:09 PM Tomasz Kamiński
wrote:
> This patch adjusts the implementation of bind_front(f) and bind_back(f)
> (with zero bound arguments), so it returns an auto(f) (a copy of the
> functor), rather than a specialization of Bind_front/Bind_back. This change
> is mostly unobse
This patch adjusts the implementation of bind_front(f) and bind_back(f)
(with zero bound arguments), so it returns an auto(f) (a copy of the
functor), rather than a specialization of Bind_front/Bind_back. This change
is mostly unobservable, as standard does not specify return type of
above function