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

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

https://gcc.gnu.org/g:3273e704d04a98bcfccdc93c8d07e88f2b032043

commit r11-9561-g3273e704d04a98bcfccdc93c8d07e88f2b032043
Author: Patrick Palka <ppa...@redhat.com>
Date:   Fri Feb 11 15:39:06 2022 -0500

    libstdc++: Back out some changes from P2325R3 backport [PR103904]

    In the P2325R3 backport r11-9555 the relaxation of the constraints on
    the partial specialization of __box (which is semantically equivalent to
    the primary template, only more space efficient) means some
    specializations of __box will now use the partial specialization instead
    of the primary template, which constitutes an ABI change unsuitable for
    a release branch.  So this patch reverts this constraint change, which
    isn't needed for correctness anyway.

    Similarly, the change to use __non_propagating_cache for the data member
    split_view::_M_current (so that it's always default-initializable) also
    constitutes an unsuitable ABI change.  This patch reverts this change
    too, and instead further constrains split_view's default constructor to
    require that we can default-initialize _M_current.

            PR libstdc++/103904

    libstdc++-v3/ChangeLog:

            * include/std/ranges (__detail::__box): Revert r11-9555 changes
            to the constraints on the partial specialization and the
            now-unnecessary special member functions.
            (__detail::__non_propagating_cache::operator=): Remove
            now-unused overload added by r11-9555.
            (split_view::_OuterIter::__current): Adjust after reverting the
            r11-9555 change to the type of _M_current.
            (split_view::_M_current): Revert r11-9555 change to its type.
            (split_view::split_view): Constrain the default constructor
            further.
            * testsuite/std/ranges/adaptors/detail/copyable_box.cc: Disable
            now-irrelevant test for the r11-9555 changes to the partial
            specialization of __box.

Reply via email to