[Bug libstdc++/102863] Optional monadic ops should not be constrained

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Oct 21 00:23:30 GMT 2021


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

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

https://gcc.gnu.org/g:0fac85a24f40ef6098b756e8e8655205f4bfbf3e

commit r12-4586-g0fac85a24f40ef6098b756e8e8655205f4bfbf3e
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Oct 21 01:19:45 2021 +0100

    libstdc++: Remove constraints from std::optional monadic ops [PR102863]

    The constraints on transform and and_then can cause errors when checking
    satisfaction. The constraints that were present in R6 of the paper were
    moved for he final F8 revision, and so should have been included in the
    implementation.

    libstdc++-v3/ChangeLog:

            PR libstdc++/102863
            * include/std/optional (optional::and_then, optional::transform):
            Remove requires-clause.
            * testsuite/20_util/optional/monadic/and_then.cc: Check
            overload resolution doesn't cause errors.
            * testsuite/20_util/optional/monadic/transform.cc: Likewise.


More information about the Gcc-bugs mailing list