]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Forward arguments for bind_front<f>,bind_back<f>,nttp<f> [PR122022]
authorTomasz Kamiński <tkaminsk@redhat.com>
Fri, 24 Oct 2025 07:37:13 +0000 (09:37 +0200)
committerTomasz Kamiński <tkaminsk@redhat.com>
Fri, 24 Oct 2025 12:41:28 +0000 (14:41 +0200)
commitf27b8040ec8f2273cffbce7b66e94c323c53c32c
tree9bf08d910a3a2887b97615533dc0bfe3812f64a8
parent915d2ecffecf7eaf9f14a46aca322326e2882a60
libstdc++: Forward arguments for bind_front<f>,bind_back<f>,nttp<f> [PR122022]

This patch fixes a missing forwarding-reference (&&) in _Bind_fn_t::operator()
and lambda returned from not_fn<f>.

The bind_front<f>/bind_back<f> tests were updated to use a structure similar
to r16-3398-g250dd5b5604fbc to cover cases involving zero, one, and many bound
arguments.

PR libstdc++/122022

libstdc++-v3/ChangeLog:

* include/std/functional (_Bind_fn_t): Use forwarding reference as
paremeter.
(std::not_fn<f>): Use forwarding reference as lambda parameter.
* testsuite/20_util/function_objects/bind_back/nttp.cc: Rework tests.
* testsuite/20_util/function_objects/bind_front/nttp.cc: Likewise.
* testsuite/20_util/function_objects/not_fn/nttp.cc: Add test for
argument forwarding.
libstdc++-v3/include/std/functional
libstdc++-v3/testsuite/20_util/function_objects/bind_back/nttp.cc
libstdc++-v3/testsuite/20_util/function_objects/bind_front/nttp.cc
libstdc++-v3/testsuite/20_util/function_objects/not_fn/nttp.cc