Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2022-07 LWG Motion 9] P1642R11 Freestanding Library: Easy [utilities], [ranges], and [iterators] #5596

Closed
wg21bot opened this issue Jul 16, 2022 · 12 comments · Fixed by #5713
Assignees
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Jul 16, 2022

P1642R11

Must be applied after [2022-07 LWG Motion 13] P2278R4 cbegin should always return a constant iterator, #5600

@jensmaurer jensmaurer added this to the post-2022-07 milestone Jul 16, 2022
@hubert-reinterpretcast
Copy link
Contributor

According to the paper: https://wg21.link/p2278R3 needs to be applied first.

@JohelEGP
Copy link
Contributor

cplusplus/papers#971 tracks that. The paper also mentions the paper of #5612.

Read again. It is not that it needs to be applied first, but that if it is voted in, the mentioned contents should also be made freestanding.

@JohelEGP
Copy link
Contributor

JohelEGP commented Jul 18, 2022

@brevzin Unlike P2446R2, which was adpted at the same time, I believe the burden is on P2278 to update and mark the approved contents as freestanding.

@hubert-reinterpretcast
Copy link
Contributor

cplusplus/papers#971 tracks that. The paper also mentions the paper of #5612.

So it does; thanks.

Read again. It is not that it needs to be applied first, but that if it is voted in, the mentioned contents should also be made freestanding.

True; however, logistically in terms of performing the editing instruction of P1642R11, it would make sense to add the affected new interfaces first.

@hubert-reinterpretcast
Copy link
Contributor

@brevzin Unlike P2446R2, which was adpted at the same time, I believe the burden is on P2278 to update and mark the approved contents as freestanding.

I think that would depend on whether LWG decided that P2278 should update the set of freestanding facilities regardless of P1642. After all, LWG cannot guarantee that P1642 will be voted in.

@hubert-reinterpretcast
Copy link
Contributor

Request for the editors to modify a note as discussed in https://lists.isocpp.org/lib/2022/07/23158.php.

@JohelEGP
Copy link
Contributor

JohelEGP commented Aug 6, 2022

None of #5681, #5708, and #5698 have been updated according to the paper.

@jensmaurer
Copy link
Member

jensmaurer commented Aug 7, 2022

#5681 "P2445R1 std::forward_like" adds to <utility>, which was made freestanding in its entirety. No additional wording changes appear to be required.

#5708 P2446 views::all_move is covered by "The wording in this revision will include those facilities implicitly."

#5698 P2278 cbegin should always return a constant iterator is covered by "P2278 adds facilities to <span>, <iterator>, and <ranges>. <span> is out of scope for this paper, but the <iterator>, and <ranges> facilities will be handled by this paper's wording implicitly."

For the three mentioned pull requests, I'm not seeing the need for any additional wording.

@JohelEGP
Copy link
Contributor

JohelEGP commented Aug 7, 2022

Those "is covered by" sentences are not the same as the "drafting note" instructions that accompany the actual wording of the paper.

You're right about <utility>, but the additions of the latter 2 papers to <iterator> and <ranges> need to explicitly tag the additions as freestanding.

#5689

#5698, not 89.

@ben-craig
Copy link

@JohelEGP There are three drafting notes, each attached to a different section. There's the drafting note with "Full headers" that handles forward_like in utility. There's the drafting note with [iterator.synopsis] that handles the <iterator> parts of #5698 P2278. Then there's the drafting note with [ranges.syn] that handles the <ranges> parts of #5708 P2446 and #5698 P2278

@JohelEGP
Copy link
Contributor

JohelEGP commented Aug 10, 2022

Indeed.

Drafting note:
P2445R1: std::forward_like will be voted on in plenary at the same meeting as this paper. P2445R1 adds facilities to . LWG has reviewed those changes in the context of this paper, and approves of those contents being made freestanding.

#5681 has nothing to do since #5713 adds to the beginning of <utility> // all freestanding.

Drafting note:
P2278R3: cbegin should always return a constant iterator will be voted on in plenary at the same meeting as this paper. P2278R3 adds facilities to <iterator>. LWG has reviewed those changes in the context of this paper, and approves of those contents being made freestanding.
Instructions to the editor:
Please append a // freestanding comment to every entity in except for the following entities:

#5698 has not appended // freestanding to "those contents".

Drafting note:
P2278R3: cbegin should always return a constant iterator and P2446R2: views::as_rvalue will be voted on in plenary at the same meeting as this paper. Those papers add facilities to <ranges>. LWG has reviewed those changes in the context of this paper, and approves of those contents being made freestanding.
Instructions to the editor:
Please append a // freestanding comment to every entity in except for the following entities:

Same as above with respect to "those contents". Applies to both #5708 and #5698.

@jensmaurer
Copy link
Member

jensmaurer commented Aug 12, 2022

#5708 and #5698 have been amended accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants