This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of WP status.
Section: 22.14.6.6 [format.context] Status: WP Submitter: Casey Carter Opened: 2021-06-08 Last modified: 2021-10-14
Priority: Not Prioritized
View all other issues in [format.context].
View all issues with WP status.
Discussion:
LWG 3539 fixed copies of potentially-move-only iterators in the format_to and vformat_to overloads, but missed the fact that member functions of basic_format_context are specified to copy iterators as well. In particular, 22.14.6.6 [format.context] states:
iterator out();-7- Returns: out_.
void advance_to(iterator it);-8- Effects: Equivalent to: out_ = it;
both of which appear to require copyability.
[2021-06-23; Reflector poll]
Set status to Tentatively Ready after six votes in favour during reflector poll.
[2021-10-14 Approved at October 2021 virtual plenary. Status changed: Voting → WP.]
Proposed resolution:
This wording is relative to N4885.
Modify 22.14.6.6 [format.context] as indicated:
iterator out();-7-
Returns: out_.Effects: Equivalent to: return std::move(out_);void advance_to(iterator it);-8- Effects: Equivalent to: out_ = std::move(it);