Created on 2020-02-07.00:00:00 last changed 45 months ago
Proposed resolution:
This wording is relative to N4849.
Modify [move.iter.nonmember] as indicated:
template<class Iterator> constexpr move_iterator<Iterator> make_move_iterator(Iterator i);-6- Returns: move_iterator<Iterator>(std::move(i)).
[ 2020-02 Prioritized as IMMEDIATE Monday morning in Prague ]
P1207R4 ("Movability of single-pass iterators") introduces the notion of a move-only non-forward iterator and makes some changes to the existing specification to realize that support.
The problem is that the specification of make_move_iterator() provided in [move.iter.nonmember] p6 does attempt to construct a move_iterator<Iterator> with an lvalue of i instead of an rvalue, having the effect of copying it instead of moving it, thus preventing to accept move-only iterators.History | |||
---|---|---|---|
Date | User | Action | Args |
2021-02-25 10:48:01 | admin | set | status: wp -> c++20 |
2020-02-24 16:02:59 | admin | set | status: immediate -> wp |
2020-02-10 19:13:13 | admin | set | messages: + msg11025 |
2020-02-10 19:13:13 | admin | set | status: new -> immediate |
2020-02-08 14:52:36 | admin | set | messages: + msg10998 |
2020-02-07 00:00:00 | admin | create |