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

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppa...@gcc.gnu.org>:

https://gcc.gnu.org/g:2b87f3318cf6334a3a42dcf27f2fdec0fce04665

commit r12-1567-g2b87f3318cf6334a3a42dcf27f2fdec0fce04665
Author: Patrick Palka <ppa...@redhat.com>
Date:   Thu Jun 17 09:46:07 2021 -0400

    libstdc++: Non-triv-copyable extra args aren't simple [PR100940]

    This force-enables perfect forwarding call wrapper semantics whenever
    the extra arguments of a partially applied range adaptor aren't all
    trivially copyable, so as to avoid incurring unnecessary copies of
    potentially expensive-to-copy objects (such as std::function objects)
    when invoking the adaptor.

            PR libstdc++/100940

    libstdc++-v3/ChangeLog:

            * include/std/ranges (__adaptor::_Partial): For the "simple"
            forwarding partial specializations, also require that
            the extra arguments are trivially copyable.
            * testsuite/std/ranges/adaptors/100577.cc (test04): New test.

Reply via email to