]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: don't implicit-construct _Yielded_decvref [PR118022]
authorArsen Arsenović <arsen@aarsen.me>
Tue, 24 Dec 2024 11:29:02 +0000 (12:29 +0100)
committerArsen Arsenović <arsen@gcc.gnu.org>
Fri, 27 Dec 2024 11:29:42 +0000 (12:29 +0100)
commit5a41ab8da087617d785f563b76f5c2fd6600b4c0
tree1417f28d7e37dd1bd0b9e260b67669cf6a54ba22
parent4731ead79fac259258dbb027090f3d085f518040
libstdc++: don't implicit-construct _Yielded_decvref [PR118022]

This overload requires

  constructible_from<remove_cvref_t<yielded>,
                     const remove_reference_t<yielded>&>

... but then tries to construct remove_cvref_t<yielded> implicitly,
which means it imposes an additional constraint not in the standard.

libstdc++-v3/ChangeLog:

PR libstdc++/118022
* include/std/generator
(_Promise_erased::yield_value(const _Yielded_deref&)): Don't
implicit-constuct _Yielded_decvref.
* testsuite/24_iterators/range_generators/pr118022.cc: New test.
libstdc++-v3/include/std/generator
libstdc++-v3/testsuite/24_iterators/range_generators/pr118022.cc [new file with mode: 0644]