Created on 2021-06-15.00:00:00 last changed 13 months ago
Proposed resolution:
Wording relative to the post-202106 working draft (as near as possible). This PR is currently being implemented in MSVC.
Modify [range.istream.view] as indicated:
namespace std::ranges { […] template<movable Val, class CharT, class Traits> requires default_initializable<Val> && stream-extractable<Val, CharT, Traits> class basic_istream_view : public view_interface<basic_istream_view<Val, CharT, Traits>> { […] Val value_ = Val(); // exposition only }; }
[ 2021-10-14 Approved at October 2021 virtual plenary. Status changed: Voting → WP. ]
[ 2021-06-23; Reflector poll ]
Set status to Tentatively Ready after seven votes in favour during reflector poll.
P2325R3 removes the default member initializers for basic_istream_view's exposition-only stream_ and value_ members. Consequently, copying a basic_istream_view before the first call to begin may produce undefined behavior since doing so necessarily copies the uninitialized value_. We should restore value_'s default member initializer and remove this particular footgun.
History | |||
---|---|---|---|
Date | User | Action | Args |
2023-11-22 15:47:43 | admin | set | status: wp -> c++23 |
2021-10-14 09:56:08 | admin | set | messages: + msg12131 |
2021-10-14 09:56:08 | admin | set | status: voting -> wp |
2021-09-29 12:57:28 | admin | set | status: ready -> voting |
2021-06-23 14:16:45 | admin | set | messages: + msg11964 |
2021-06-23 14:16:45 | admin | set | status: new -> ready |
2021-06-19 13:48:40 | admin | set | messages: + msg11936 |
2021-06-15 00:00:00 | admin | create |