-
Notifications
You must be signed in to change notification settings - Fork 1
P2781 R8 std::constexpr_wrapper #1458
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
Comments
2023-02-09 13:00 to 15:15 Issaquah Library Evolution MeetingP2781R0: 2023-02-09 13:00 to 15:15 UTC-8 Issaquah Library Evolution Minutes Champion: Zach Laine (IP) & Matthias Kretz (IP) Chair: Bryce Adelstein Lelbach (IP) & Robert Leahy (IP) Minute Taker: Steve Downey (IP) Start: 2023-02-09 13:06 UTC-8 Does this paper have:
Open Questions:
Topics to Polls:
POLL:
Attendance: 19 (in person) + 10 (remote) # of Authors: 2 Author Position: 2x SF Outcome: Strong consensus in favor. POLL: Provide
Attendance: 19 (in person) + 10 (remote) # of Authors: 2 Author Position: 2x N Outcome: No consensus; we leave it up to the authors discretion. N: I'd vote WA if the proposal was for just some of the suffixes. POLL: Provide a
Attendance: 19 (in person) + 10 (remote) # of Authors: 2 Author Position: 2x SF Outcome: Strong consensus in favor. POLL: Provide a
Attendance: 19 (in person) + 10 (remote) # of Authors: 2 Author Position: 1x N, 1x SA Outcome: No consensus; strongly neutral. SA: It's too confusing to have two. Name for constexpr
End: 14:35 SummaryThis paper proposes We were generally in favor of the addition of We also agreed that we wanted a variable template of type We talked about user-defined literals for integral constants, but we did not have consensus to add them. Finally, we spent some timewe wanted a variable template of type Next StepsBring a revision of P2781R0 (
|
P2781R1 std::constexpr_v (Zach Laine, Matthias Kretz) |
(merged from issue: #1512) 2023-05-16 Library Evolution TeleconP2781R1: 2023-05-16 Library Evolution Telecon Minutes Champion: Zach Laine Chair: Bryce Adelstein Lelbach Minute Taker: Ben Craig Start: 2023-05-16 11:03 Eastern POLL: Add the
Attendance: 16 # of Authors: 2 Author Position: 1x SF, 1x WF Outcome: Weak consensus in favor, but this will need to be revisited. Authors should add additional motivation and examples in future revisions. SA: I think that adding this concept will promote a programming practice that will have worse compilation times (because the concept will be checked everywhere) and will complicate libraries that use it because they have to think about all possible types that satisfy this concept, instead of a single vocabulary type. I'd prefer a vocabulary type. (Poll taken for the second time, after discussion) POLL: Add the
Attendance: 16 # of Authors: 2 Author Position: 2x SF Outcome: No consensus. POLL: It would be okay to ship
Attendance: 16 # of Authors: 2 Author Position: 1x WF, 1x N Outcome: Consensus in favor. WA: I think if we ship without the concept, people will start writing code that just uses the vocabulary type and I think that'll be a mess, and the utility of adding the concept later will decrease. POLL: The constexpr value type from P2781 should be called
Attendance: 15 # of Authors: 2 Author Position: 1x WF, 1x SA Outcome: POLL: The constexpr value type from P2781 should be called
Attendance: 16 # of Authors: 2 Author Position: 1x WF, 1x SA Outcome: Weak consensus against. Poll Ideas:
End: 12:39 SummaryMuch of our discussion revolved around whether we needed a concept for a constexpr value. Some felt strongly that this was necessary to allow people to write functions that can accept either We could not reach a consensus on this matter. We could add the new type now, and add a concept later, but those in favor of a concept feel it is essential to the programming model. We discussed whether we could make We also discussed naming briefly. Next StepsRevise the paper and return to Library Evolution:
|
P2781R2 std::constexpr_v (Zach Laine, Matthias Kretz) |
(merged from issue: #1512) 2023-06-12 Library Evolution VarnaP2781R2: constexpr_v 2023-06-12 Library Evolution Minutes Chair: Nevin Liber, Fabio Fracassi Champion: Zach Laine Minute Taker: Guy Davidson SummaryNo polls were taken Next StepsThe paper requires more discussion and will be seen again in Kona 2023 |
P2781R3 std::constexpr_v (Zach Laine, Matthias Kretz) |
@inbal2l, the merged comment for the 2023-05-16 telecon lists the same poll twice with different results. Was the same poll conducted twice? Or should one of these have different poll wording? The link to the minutes is broken too. |
Hi @tahonermann, thanks for noticing! I've updated the link, seems like the poll needs to be fixed in the minutes as well. @brycelelbach, @ben-craig - can you please correct this? |
It's been a few months, but I believe this poll was taken twice. Whether to add a concept or not garnered a lot of discussion. |
Yes, that makes sense, as there was quite a lot of discussion in between. Thanks for the clarification. |
Library Evolution Meeting in Kona 2023-11-062022-11-06 Library Evolution Kona 2023 Meeting Minutes Chair: Fabio Fracassi / Inbal Levi Champion: Zach Laine, Matthias Kretz Minute Taker: Andreas Weis PollsPOLL: We should add mutating operations (i.e.
Outcome: Strong consensus in favor Attendance: 22 IP + 6 R = 28 # of Authors: 2 Authors’ position: SF, N Outcome: Weak consensus in favor POLL: We want to proceed with P2781R3 even if a potential core language feature would make this obsolete.
Outcome: Strong consensus in favor Attendance: 23 IP + 6 R = 29 # of Authors: 2 Authors’ position: SF, SF Outcome: Weak consensus in favor SA: Not a high priority, should be in the language. If I see numbers that there is pressing need for having this now, I could be convinced. SummaryAuthors should reach out to EWG and the author of https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1045r1.html, to explore the potential progress as a language feature for C++26. OutcomeLEWG chair to reach out to EWG chair to schedule a discussion on an evaluation of whether this feature can be implemented in the language, and whether is it possible within the C++26 timeframe. Evolution Meeting in Kona 2023-11-07Seen by EWG in Kona 2023 (Full Minutes): Poll: P2781R3 “std::constexpr_v” and P1045R1 “constexpr Function Parameters” EWG would like to solve the problem solved by std::constexpr_v in the language, for example as proposed by P1045R1 or with “expression aliases”, rather than solving it in library. An implementation is desired. C++26 seems ambitious.
Consensus. |
P2781R5 std::constexpr_wrapper (Hana Dusíková, Matthias Kretz, Zach Laine) |
2025-01-07 Library Evolution TeleconP2781R5 std::constexpr_wrapper 2025-01-07 Library Evolution Telecon Minutes Champion: Zach Laine SummaryPOLL: Make operator() and operator[] static POLL: We would like to pull out the support for string literals and arrays (SUPPORT_ARRAY_VALUES part of the wording removed) from the std::constant_wrapper.
Attendance: 21 ACTIONs:
POLL: Apply the fixes as described above and forward P2781R5 to LWG for C++26.
Attendance: 21 Next StepsWe’ve approved the added support for strings and the design to support it (adding level of indirection). The authors will apply the following changes:
And forward the fixed paper to LWG for C++26 (no electronic poll, as we’re toward the end of the cycle. No objection from the room). |
LWG saw this Thursday morning in Hagenberg. minutes: https://wiki.edg.com/bin/view/Wg21hagenberg2025/LWGThursdayEarlyMorning#p2781 |
2025-03-11 Library Evolution TeleconP2781R7: std::constant_wrapper 2025-03-11 Library Evolution Hagenberg Minutes Champion: Zach Laine SummaryPOLL: We encourage work on a new paper that discusses replacing nontype with constant_wrappper for C++26.
Attendance: 27 POLL: Remove “static” from index and call operators. Attendance: 27 POLL: Reintroduce the
Attendance: 25 POLL: Add additional is_constructible_v<> constraints to operator&& and operator||. (enable shortcut evaluation for some cases) Attendance: 25 POLL: Get rid of
Attendance: 23 ACTION: Remove second definition of cw template (editorial) POLL: Apply the design changes and send the updated paper P2781R8 back to LWG.
Attendance: 23 Next StepsApply the changes above and send P2781R8 back to LWG for C++26. |
P2781R6 std::constexpr_wrapper (Zach Laine, Matthias Kretz, Hana Dusíková) |
P2781R7 std::constexpr_wrapper (Zach Laine, Matthias Kretz, Hana Dusíková) |
P2781R8 std::constexpr_wrapper (Zach Laine, Matthias Kretz, Hana Dusíková) |
P2781R0
std::integral_constant
Literals andstd::constexpr_t
(Matthias Kretz, Zach Laine)The text was updated successfully, but these errors were encountered: