Created on 2020-11-10.00:00:00 last changed 13 months ago
Proposed resolution:
This wording is relative to N4885.
Modify [syncstream.syncbuf.assign] as indicated:
basic_syncbuf& operator=(basic_syncbuf&& rhs)noexcept;-1- Effects: […]
-2- Postconditions: […] -3- Returns: […] -4- Remarks: […]void swap(basic_syncbuf& other)noexcept;-5- Preconditions: […]
-6- Effects: […]
[ 2021-10-14 Approved at October 2021 virtual plenary. Status changed: Voting → WP. ]
[ 2021-06-23; Reflector poll ]
Set status to Tentatively Ready after eight votes in favour during reflector poll.
[ 2021-05-22 Tim adds PR ]
The move assignment is specified to call emit() which can throw, and there's nothing in the wording providing for catching/ignoring the exception, so it can't be noexcept. The swap needs to call basic_streambuf::swap, which isn't noexcept, so it shouldn't be noexcept either.
[ 2020-11-21; Reflector prioritization ]
Set priority to 3 during reflector discussions.
The synopsis in [syncstream.syncbuf.overview] shows the move assignment operator and swap member as potentially throwing. The detailed descriptions in [syncstream.syncbuf.assign] are noexcept.
Daniel: This mismatch is already present in the originally accepted paper P0053R7, so this is nothing that could be resolved editorially.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: + msg12121 |
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: + msg11958 |
2021-06-23 14:16:45 | admin | set | status: new -> ready |
2021-05-22 16:14:55 | admin | set | messages: + msg11840 |
2021-05-22 16:14:55 | admin | set | messages: + msg11839 |
2020-11-21 14:06:16 | admin | set | messages: + msg11624 |
2020-11-10 00:00:00 | admin | create |