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

P2609 Relaxing Ranges Just A Smidge #1271

Closed
wg21bot opened this issue Jun 24, 2022 · 9 comments · Fixed by cplusplus/draft#6137
Closed

P2609 Relaxing Ranges Just A Smidge #1271

wg21bot opened this issue Jun 24, 2022 · 9 comments · Fixed by cplusplus/draft#6137
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++23 Targeted at C++23 IS Ship vehicle: IS LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. ranges std::ranges size - small paper size estimate
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Jun 24, 2022

P2609R0 Relaxing Ranges Just A Smidge (John Eivind Helset)

@wg21bot wg21bot added the SG9 Ranges SG label Jun 24, 2022
@wg21bot wg21bot added this to the 2022-telecon milestone Jun 24, 2022
@inbal2l inbal2l added LEWG Library Evolution scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review and removed SG9 Ranges SG labels Jun 28, 2022
@brycelelbach
Copy link

2022-06-28 Library Evolution Telecon

P2248R4: Enabling list-initialization for algorithms

2022-06-28 Library Evolution Telecon Minutes

P2609R0: Relaxing Ranges Just A Smidge

2022-06-28 Library Evolution Telecon P2609 Minutes

P2538R1: ADL-proof projected

2022-06-28 Library Evolution Telecon P2538 Minutes

Chair: Bryce Adelstein Lelbach

Minute Taker: Ben Craig

Champion: Giuseppe D'Angelo (P2248) & John Eivind Helset (P2609)

Start P2248: 2022-06-28 11:47 Eastern

POLL: Modify P2248R4 (Enabling list-initialization for algorithms) by making projected_value a metafunction defined in terms of invoke_result_t, and return the revised paper to Library for C++23 classified as B2 - Improvement, to be confirmed with a Library Evolution electronic poll.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
3 10 1 0 0

Attendance: 26

# of Authors: 1

Author Position: N

Outcome: Strong consensus in favor.

End: 11:55

POLL: Modify P2248R4 (Enabling list-initialization for algorithms) by making projected_value a metafunction defined in terms of invoke_result_t and extending the paper to ranges::fold and ranges::contains, and return the revised paper to Library for C++23 classified as B2 - Improvement, to be confirmed with a Library Evolution electronic poll.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
0 11 3 0 0

Attendance: 26

# of Authors: 1

Author Position: WF

Outcome: Consensus in favor.

N: Too much work for C++23.

POLL: Modify P2248R4 (Enabling list-initialization for algorithms) by making projected_value a metafunction defined in terms of invoke_result_t and extending the paper to ranges::fold and ranges::contains, and return the revised paper to Library for C++23 classified as B2 - Improvement, to be confirmed with a Library Evolution electronic poll.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
4 9 1 0 0

Attendance: 25

# of Authors: 1

Author Position: SF

Outcome: Strong consensus in favor.

We will go with the last poll.

End P2248: 12:03

Start P2609: 12:04

Does this paper have:

  • Examples?
    • Yes.
  • Field experience?
    • Implementation experience?
      • Yes, in ranges v3 and libstdc++.
  • Wording?
    • Yes.
  • Feature test macro?
    • No; we should modify the paper to bump the __cpp_lib_ranges feature
      test macro.

POLL: indirect_value_t should be exposition only.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
0 10 2 5 0

Attendance: 25

# of Authors: 1

Author Position: N

Outcome: No consensus; we'll leave it to the author's discretion.

POLL: Modify P2609R0 (Relaxing Ranges Just A Smidge) by bumping the __cpp_lib_ranges feature test macro, and send the revised paper to Library for C++26 classified as B2 - Improvement, to be confirmed with a Library Evolution electronic poll.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
6 11 0 0 0

Attendance: 24

# of Authors: 1

Author Position: SF

Outcome: Unanimous consensus in favor.

End: 12:37

If P2609 merges before P2248, P2248 should define projected_value in terms of indirect_value_t.

If P2248 merges before P2609, P2609 should update the definition of projected_value.

Summary

We discussed projected_value (from P2248) and indirect_value_t (from P2609), two metafunctions with a very similar definition.
We determined that we should try to ensure that they are defined in terms of each other, and that we wanted both to be concrete and not expositional.
We also decided that P2248 (Enabling list -initialization for algorithms) should be expanded to include two new algorithms that have been added since P2248 was forwarded, ranges::fold and ranges::contains.

Next Steps

  • Produce and publish P2248R5 (Enabling list-initialization for algorithms), making projected_value a metafunction defined in terms of invoke_result_t and expanding the paper to include ranges::fold and ranges::contains
  • Take an electronic poll to confirm sending P2248R5 (Enabling list-initialization for algorithms) to Library for C++23 classified as B2 - Improvement.
  • Produce and publish P2609R1 (Relaxing Ranges Just A Smidge), bumping the __cpp_lib_ranges feature test macro.
  • Take an electronic poll to confirm sending P2609R0 (Relaxing Ranges Just A Smidge) to Library for C++26 classified as B2 - Improvement.
  • If P2609 merges before P2248, P2248 should define projected_value in terms of indirect_value_t.
  • If P2248 merges before P2609, P2609 should update the definition of projected_value.

@brycelelbach brycelelbach added ranges std::ranges IS Ship vehicle: IS C++26 Targeted at C++26 B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll size - small paper size estimate needs-revision Paper needs changes before it can proceed scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review and removed scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review needs-revision Paper needs changes before it can proceed labels Jun 29, 2022
@brycelelbach brycelelbach added LWG Library lwg-pending LWG Chair needs to disposition and removed LWG Library lwg-pending LWG Chair needs to disposition labels Jul 8, 2022
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jul 21, 2022

P2609R1 Relaxing Ranges Just A Smidge (John Eivind Helset)

@brycelelbach
Copy link

2022-07 Library Evolution Electronic Poll Outcomes

Poll 2.6: Send [P2609R1] Relaxing Ranges Just A Smidge to Library Working Group for C++26, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
5 6 2 0 0

Outcome: Strong consensus in favor.

@brycelelbach brycelelbach added LWG Library lwg-pending LWG Chair needs to disposition and removed LEWG Library Evolution ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Jul 22, 2022
@JeffGarland
Copy link
Member

LWG saw this in the afternoon in Kona -- revisions are needed.

https://wiki.edg.com/bin/view/Wg21kona2022/LWG20221108-EA

@JeffGarland JeffGarland added needs-revision Paper needs changes before it can proceed and removed lwg-pending LWG Chair needs to disposition labels Nov 9, 2022
@JeffGarland
Copy link
Member

There is an R2 version of the paper for review: https://isocpp.org/files/papers/P2609R2.html

@JeffGarland JeffGarland added C++23 Targeted at C++23 and removed needs-revision Paper needs changes before it can proceed labels Feb 7, 2023
@JeffGarland
Copy link
Member

JeffGarland commented Feb 7, 2023

@brycelelbach @inbal2l The ship vehicle here is listed as c++26, but there's an NB comment -- so LWG plans to move this for c++23. If you'd like to re-affirm the polling for the ship vehicle change please add that to your Issaquah agenda.

@brycelelbach brycelelbach added LEWG Library Evolution ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting and removed C++26 Targeted at C++26 labels Feb 7, 2023
@billy-baker billy-baker removed LEWG Library Evolution ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting labels Feb 7, 2023
@billy-baker
Copy link
Collaborator

billy-baker commented Feb 7, 2023

2023-02-07 10:30 to 12:00 Issaquah Library Evolution Meeting

P2609R2: Relaxing Ranges Just A Smidge

2023-02-07 10:30 to 12:00 UTC-8 Issaquah Library Evolution Minutes

Attendance: 27

Chair: Billy Baker (IP) & Inbal Levi (IP)

Minute Taker: Ben Craig (IP)

POLL: Ship this in C++23.

NO OBJECTION TO UNANIMOUS CONSENT.

Attendance: 27

Summary

Library Evolution verified that the ship vehicle is C++23.

Next Steps

Return P2609R1 (Relaxing Ranges Just A Smidge) to Library for C++23, classified as B2 - improvement.

@brycelelbach brycelelbach added scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review and removed scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Feb 9, 2023
@cor3ntin cor3ntin added the plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. label Feb 11, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Feb 20, 2023

P2609R2 Relaxing Ranges Just A Smidge (John Eivind Helset)

@wg21bot wg21bot added this to the 2023-telecon milestone Feb 20, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Feb 20, 2023

P2609R3 Relaxing Ranges Just A Smidge (John Eivind Helset)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++23 Targeted at C++23 IS Ship vehicle: IS LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. ranges std::ranges size - small paper size estimate
Projects
Status: Ready
Development

Successfully merging a pull request may close this issue.

7 participants