![]() Currently, the return type of this lambda is decltype(auto), so the lambda ends up returning a copy of _M_parent->_M_inner rather than a reference to it when _S_ref_glvalue is false. This means _M_inner and ranges::end(__inner_range) are respectively an iterator and sentinel for different ranges, so comparing them is undefined. libstdc++-v3/ChangeLog: PR libstdc++/100290 * include/std/ranges (join_view::_Iterator::operator++): Correct the return type of the lambda to avoid returning a copy of _M_parent->_M_inner. * testsuite/std/ranges/adaptors/join.cc (test10): New test. |
||
---|---|---|
.. | ||
backward | ||
bits | ||
c | ||
c_compatibility | ||
c_global | ||
c_std | ||
debug | ||
decimal | ||
experimental | ||
ext | ||
parallel | ||
precompiled | ||
pstl | ||
std | ||
tr1 | ||
tr2 | ||
Makefile.am | ||
Makefile.in |