On 30/03/23 00:39 +0100, Jonathan Wakely wrote:
Tested powerpc64le-linux. Pushed to trunk.

-- >8 --

We need to strip cv-qualifiers from the result of the callable passed to
std::optional::transform.

For std::expected::transform and std::expected::transform_error I
noticed we were stripping cv-qualifiers but were also incorrectly
stripping references.

libstdc++-v3/ChangeLog:

        PR libstdc++/109340
        * include/std/expected (expected::transform): Use
        std::remove_cv_t instead of std::remove_cvref_t.
        (expected::transform_error): Likewise.
        (expected<cv void, E>::transform): Likewise.
        (expected<cv void, E>::transform_error): Likewise.
        * include/std/optional (transform): Use std::remove_cv_t.
        * testsuite/20_util/optional/monadic/pr109340.cc: New test.

Oops, I put the wrong PR number in the commit message and the name of
the new test. I've renamed it to pr109242.cc now.


Reply via email to