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

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

https://gcc.gnu.org/g:7c6008e75df80607f8104e665e0448a0a9cbf85a

commit r13-3695-g7c6008e75df80607f8104e665e0448a0a9cbf85a
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Fri Nov 4 15:05:41 2022 +0000

    libstdc++: Do not use SFINAE for propagate_const conversions [PR107525]

    As the PR notes, the current conversion operators are defined as
    function templates so that we can use SFINAE. But this changes how they
    are considered for overload resolution. This moves those operators into
    base classes that can be specialized so the operators are obsent unless
    the constraints are satisfied.

    libstdc++-v3/ChangeLog:

            PR libstdc++/107525
            * include/experimental/propagate_const (operator element_type*()):
            Move into base class that can be partially specilized to iompose
            constraints.
            (operator const element_type*()): Likewise.
            * testsuite/experimental/propagate_const/observers/107525.cc: New
test.

Reply via email to