Open wg21bot opened 1 year ago
Draft and reference implementation at https://github.com/jbcoe/value_types
P3019R1: Vocabulary Types for Composite Class Design
2023-11-08 Library Evolution Kona Minutes
Champion: Jonathan Coe
Chair: Inbal Levi / Billy Baker
Minute Taker: Eddie Nolan, Andreas Weis
POLL: Add "operator()", "operator[]" to the proposed classes.
SF | F | N | A | SA |
---|---|---|---|---|
0 | 0 | 10 | 4 | 5 |
Attendance: 19 IP + 8 R
# of Authors: 2
Authors’ position: 1 SA 1 WA
Outcome: Consensus Agains
POLL: Add "emplace" to the proposed classes.
SF | F | N | A | SA |
---|---|---|---|---|
0 | 1 | 1 | 11 | 6 |
Attendance: 19 IP + 8 R
# of Authors: 2
Authors’ position: 2xA
Outcome: Consensus Against
Favor: Have to spell the type if emplace is not there.
POLL: We want to support types that have comparison operators incompatible with regularity
SF | F | N | A | SA |
---|---|---|---|---|
0 | 9 | 5 | 2 | 2 |
Attendance: 19 IP + 8 R
# of Authors: 2
Authors’ position: 2x WF
Outcome: Not consensus for a change
IL: We need to take the following poll next meeting (POLL: Remove "noexcept" from all the functions apart from *, ->, move CTOR, and move assignment)
The paper made progress. Authors are to provide a new revision which will be seen again during the Kona meeting.
P3019R02: Vocabulary Types for Composite Class Design
2023-11-10 Library Evolution Kona Minutes
Champion: Jonathan Coe
Chair: Ben Craig, Inbal Levi
Minute Taker: Eddie Nolan, Andreas Weis
__POLL: Remove preconditions for move, copy, swap, move assign, assign, comparisons, and std::hash for indirect
and polymorphic_value
as appropriate.__
Strongly Favor | Weakly Favor | Neutral | Weakly Against | Strongly Against |
---|---|---|---|---|
3 | 5 | 0 | 8 | 10 |
Attendance: 32 IP + 6 R # of Authors: 2 Author Position: 2xSA Outcome: Weak consensus against
__POLL: Require T of polymorphic
to be a polymorphic base class (which will prevent the template parameter from being an incomplete type)___
Strongly Favor | Weakly Favor | Neutral | Weakly Against | Strongly Against |
---|---|---|---|---|
1 | 0 | 4 | 6 | 17 |
Attendance: 31 IP + 4 R # of Authors: 2 Author Position: 2XSA Outcome: Strong consensus against
SF: Seems we love polymorphic<int>
too much
POLL: Approve design of P3019R2 (Vocabulary Types for Composite Class Design), except ensure the swap noexcept specification matches std::vector and remove the std::optional specialization.
Strongly Favor | Weakly Favor | Neutral | Weakly Against | Strongly Against |
---|---|---|---|---|
10 | 12 | 2 | 2 | 0 |
Attendance: 32 IP + 4 R # of Authors: 2 Author Position: 2xSF Outcome: Strong Consensus in favor
WA: Can't vote in favor of the approach that makes the valueless state unsafe
The design was approved with the proposed changes in the polls. Minor fixes are still required, authors will work on this and present the change log at the next meeting.
The paper wording and final design will be reviewed in a telecon.
P3019R3: Vocabulary Types for Composite Class Design
2023-11-21 Library Evolution Telecon
Champion: Jonathan Coe Chair: Inbal Levi Minute Taker: Ben Craig
We covered change log for R3 (and before). We will see the paper again with the resolution for the topics:
Next meeting we should also discuss on the topics (and weather they can be added later):
make_indirect
? POLL: Investigate “explicitness” of the CTORS for “indirect” and “polymorphic”, and come back to LEWG with a resolution.
SF | F | N | A | SA |
---|---|---|---|---|
3 | 1 | 5 | 7 | 1 |
Outcome: Weak consensus against (no need for additional exploration from the authors) # of Authors: 2 Authors’ position: 2xN Attendance: 30
POLL: Indirect should accept any T which is Cpp17Destructible (relax the restrictions in the paper, to allow int, union and function pointers).
SF | F | N | A | SA |
---|---|---|---|---|
4 | 11 | 2 | 0 | 0 |
Outcome: Consensus in favor # of Authors: 2 Authors’ position: 2xF Attendance: 30
Once we have a detailed reasoning for the course of action for "valueless state”, send the paper to SG23. Come back to LEWG with an investigation of the topics above.
Please reach out to authors between meetings. If no major topic comes up, the next meeting should be devoted to wording review.
P3019R1 Vocabulary Types for Composite Class Design (Jonathan Coe, Antony Peacock, Sean Parent)
P3019R2 Vocabulary Types for Composite Class Design (Jonathan Coe, Antony Peacock, Sean Parent)
P3019R3 Vocabulary Types for Composite Class Design (Jonathan Coe, Antony Peacock, Sean Parent)
P3019R4: Vocabulary Types for Composite Class Design (design review) P3019R5: Vocabulary Types for Composite Class Design (wording review)
2024-02-06 Library Evolution Telecon Minutes
Champion: Jonathan B. Boe Chair: Fabio Fracassi Minute Taker: Ben Craig
TODO: @FabioFracassi (modify/add)
Paper forwarding checklist:
Modifications requested by the room:
POLL: Modify P3019R6 as specified, then forward it to LWG for C++26 as B3 (to be confirmed by an electronic poll)
SF | F | N | A | SA |
---|---|---|---|---|
5 | 11 | 0 | 0 | 0 |
Attendance: 19 # of Authors: 2 Author's Position: 2xSF Outcome: Unanimous consent in favor
Authors will publish both R4 (from D4) and R5, of which we reviewed the wording (from D5) in the paper system. Then they will apply the changes requested by LEWG and publish an R6 (please send it to the LEWG reflector, for verification). Assuming specified as intended, R6 will be forwarded to LWG for C++26 as B3 (to be confirmed by an electronic poll).
P3019R4 Vocabulary Types for Composite Class Design (Jonathan Coe, Antony Peacock, Sean Parent)
P3019R5 Vocabulary Types for Composite Class Design (Jonathan Coe, Antony Peacock, Sean Parent)
Latest draft: https://isocpp.org/files/papers/P3019R8.html
This paper was seen by LWG on Friday in Tokyo -- significant feedback given to authors. @jwakely has also now implemented the proposal.
Notes here: https://wiki.edg.com/bin/view/Wg21tokyo2024/LibraryWorkingGroup
P3019R7 Vocabulary Types for Composite Class Design (Jonathan Coe, Antony Peacock, Sean Parent)
P3019R8 Vocabulary Types for Composite Class Design (Jonathan Coe, Antony Peacock, Sean Parent)
P3019R0 Vocabulary Types for Composite Class Design (Jonathan Coe, Antony Peacock, Sean Parent)