diff options
author | Arsen Arsenović <arsen@aarsen.me> | 2024-12-24 12:50:28 +0100 |
---|---|---|
committer | Arsen Arsenović <arsen@gcc.gnu.org> | 2024-12-27 12:29:42 +0100 |
commit | 9a1cb52cae2d48d2fc18d01b534bf4e3203f0cc1 (patch) | |
tree | 38b23c282d6f9a1338ae1c456a86c0e0d7e54727 | |
parent | 5a41ab8da087617d785f563b76f5c2fd6600b4c0 (diff) | |
download | gcc-9a1cb52cae2d48d2fc18d01b534bf4e3203f0cc1.zip gcc-9a1cb52cae2d48d2fc18d01b534bf4e3203f0cc1.tar.gz gcc-9a1cb52cae2d48d2fc18d01b534bf4e3203f0cc1.tar.bz2 |
libstdc++: add missing return in generator assignment operator [PR118196]
libstdc++-v3/ChangeLog:
PR libstdc++/118196
* include/std/generator (generator::operator=(generator)): Add
missing 'return *this;'.
* testsuite/24_iterators/range_generators/pr118196.cc: New test.
-rw-r--r-- | libstdc++-v3/include/std/generator | 1 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/24_iterators/range_generators/pr118196.cc | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/libstdc++-v3/include/std/generator b/libstdc++-v3/include/std/generator index 3a19d53..7d7e9b7 100644 --- a/libstdc++-v3/include/std/generator +++ b/libstdc++-v3/include/std/generator @@ -717,6 +717,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { swap(__other._M_coro, this->_M_coro); swap(__other._M_began, this->_M_began); + return *this; } _Iterator diff --git a/libstdc++-v3/testsuite/24_iterators/range_generators/pr118196.cc b/libstdc++-v3/testsuite/24_iterators/range_generators/pr118196.cc new file mode 100644 index 0000000..ae161df --- /dev/null +++ b/libstdc++-v3/testsuite/24_iterators/range_generators/pr118196.cc @@ -0,0 +1,13 @@ +// { dg-do compile { target c++23 } } +#include "<generator>" + +std::generator<int> +generator(); + +void +try_reassigning() +{ + auto gen = generator(); + auto gen2 = generator(); + gen = std::move(gen2); +} |