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

P2418 Add support for std::generator-like types to std::format #1092

Closed
wg21bot opened this issue Aug 23, 2021 · 7 comments · Fixed by cplusplus/draft#5011
Closed

P2418 Add support for std::generator-like types to std::format #1092

wg21bot opened this issue Aug 23, 2021 · 7 comments · Fixed by cplusplus/draft#5011
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. size - medium paper size estimate
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Aug 23, 2021

P2418R0 Add support for std::generator-like types to std::format (Victor Zverovich)

@wg21bot wg21bot added the LEWG Library Evolution label Aug 23, 2021
@wg21bot wg21bot added this to the 2021-telecon milestone Aug 23, 2021
@brycelelbach brycelelbach added C++20 Targeted at C++20 C++23 Targeted at C++23 IS Ship vehicle: IS ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review size - medium paper size estimate 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 and removed scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting labels Aug 31, 2021
@brycelelbach
Copy link

2021-08-31 Library Evolution Telecon

P2418R0: Add support for std::generator-like types to std::format

2021-08-31 Library Evolution Telecon Minutes

Chair: Inbal Levi

Champion: Victor Zverovich

Minute Taker: Ben Craig

Summary

The paper proposes a fix to std::format, which will allow formatting a wider range of facilities (and will align std::format with {fmt}'s current behavior)

The topic of accepting this as a DR to C++20 was broadly discussed (and in particular, with the affected parties), as well as the consequences for not doing so.

The general notion was in favor of having the proposed fix as a DR to C++20 (as well as ship it to C++23)

POLL: Send P2418R0 (Adding support for std::generator to std::format) to LWG for C++23 and as a DR for C++20, treated as an urgent matter.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
11 5 1 0 0

Neutral: Concerned with format implementation. Not pleased with retroactive changes (But don't want to give off the impression that it will be vetoed)

Attendance: 22

# of Authors: 1

Author Position: SF

Outcome: Consensus in favor

Outcome

Taking library implementers' request to finalize C++20's API & ABI under consideration, the paper will be voted on in a special library evolution electronic poll (starting on the 2021-09-10).

@brycelelbach brycelelbach added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Sep 9, 2021
@JeffGarland
Copy link
Member

LWG reviewed this change on 2021-09-17 and requested updates. Updated review scheduled for 2021-09-24.

https://wiki.edg.com/bin/view/Wg21telecons2021/P2418-20210917

@wg21bot
Copy link
Collaborator Author

wg21bot commented Sep 20, 2021

P2418R1 Add support for std::generator-like types to std::format (Victor Zverovich)

@JeffGarland
Copy link
Member

JeffGarland commented Sep 24, 2021

LWG reviewed and approved for C++20 as DR and C++23 in telecom on 2021-09-24 pending completion of electronic polling.

https://wiki.edg.com/bin/view/Wg21telecons2021/P2418-20210924

poll: put P2418r2 into C++23 as a DR against C++20 assuming LEWG approval

F N A
9 0 0

@JeffGarland JeffGarland added tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. LWG Library labels Sep 25, 2021
@brycelelbach
Copy link

brycelelbach commented Sep 25, 2021

2021 September Library Evolution Polls

P2451: 2021 September Library Evolution Poll Outcomes

Poll 1: Send P2418R0 (Add Support For std::generator-like Types To std::format) to Library Working Group for C++23, classified as an improvement of an existing feature (P0592R4 bucket 2 item), with the recommendation that implementations retroactively apply it to C++20.

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
12 7 0 1 0

Outcome: Consensus in favor.

Selected Comments

This fixes cooperation between major C++20 features (ranges and format). Without out, some ranges will be inherently not printable.

— Strongly Favor

Without this change it will be impossible to format std::generator and other types that are neither const-iterable nor copyable.

— Strongly Favor

An improvement, but yet another one that is not really suitable for a DR at this stage.

— Weakly Favor

I'll all for fixes to C++20 (and I think this is one). In my mind, C++20 isn't set in stone until C++23 is close to release.

Also, I am quite fine to throw bitfields under the bus. Always.

— Weakly Favor

I support the general direction of the paper, but I think it's too late for us to continue retroactively changing C++20. I would prefer we instead make a breaking change in C++23. We need to have clear deadlines and releases, but we shouldn't be afraid to fix our mistakes. The more changes we make to C++20, the slower C++20 adoption will be.

— Weakly Against

@brycelelbach brycelelbach 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 Sep 25, 2021
@cor3ntin cor3ntin added plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. and removed tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. labels Oct 4, 2021
@wg21bot
Copy link
Collaborator Author

wg21bot commented Oct 26, 2021

P2418R2 Add support for std::generator-like types to std::format (Victor Zverovich)

@wg21bot
Copy link
Collaborator Author

wg21bot commented Oct 26, 2021

Adopted 2021-10.

@jensmaurer jensmaurer removed the C++20 Targeted at C++20 label Oct 26, 2021
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. size - medium paper size estimate
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants