Open erichkeane opened 1 year ago
This paper was seen by EWGI with P1144 during the February 10th, 2023 evening session in Issaquah.
The following polls were taken:
Given the committee's limited bandwidth, EWGI believes the problem presented in P1144/P2786 is worth solving.
SF | F | N | A | SA |
---|---|---|---|---|
10 | 8 | 0 | 0 | 0 |
Result: Consensus
EWGI believes the problem being introduced in P1144/P2786 should be solved in a more general way instead of as proposed.
SF | F | N | A | SA |
---|---|---|---|---|
3 | 0 | 5 | 6 | 4 |
Result: Not Consensus
EWGI believes that the relocatable annotation in P1144R6 is acceptable as an attribute.
SF | F | N | A | SA |
---|---|---|---|---|
0 | 6 | 4 | 6 | 2 |
Result: Not Consensus
EWGI believes that the relocatable annotation should just 'trust' the user as presented in P1144R6 (aka sharp knife) instead of be diagnosed, as in P2786R0 (aka 'dull knife').
F | N | A |
---|---|---|
7 | 5 | 6 |
Result: No obvious preference
Inform the EWG chair that we believe P1144R6 is sufficiently ready to be presented in EWG.
SF | F | N | A | SA |
---|---|---|---|---|
0 | 7 | 4 | 3 | 1 |
Result: Not Consensus
Inform the EWG chair that we believe P2786R0 is sufficiently ready to be presented in EWG.
SF | F | N | A | SA |
---|---|---|---|---|
1 | 8 | 3 | 3 | 1 |
Result: Weak Consensus
Guidance to the authors was given to work with the author of P1144 to better ensure a more unified set of pros/cons/well thought out behaviors before the discussion in EWG. However, our weak consensus is enough for this paper as-is to be seen by the EWG chair.
https://github.com/cplusplus/papers/issues/1542 was seen in EWG in Varna, feedback provided.
P2786R4 Trivial Relocatability For C++26 (Mungo Gill, Alisdair Meredith)
This was discussed in EWG in Tokyo during the Monday afternoon session. The following poll was taken:
Forward P2786R4 to CWG for inclusion in C++26.
SF | F | N | A | SA |
---|---|---|---|---|
7 | 9 | 6 | 0 | 2 |
Result: Consensus
CWG 2024-03-21: Reviewed; needs updates.
Concern for EWG: CWG strongly suggests dropping the change for anonymous classes; it is squatting syntax space that might be needed in the future, for little gain.
EWG discussed this in EWG during the Friday AM session in Tokyo. The following polls were taken:
Poll: D2786R5 — Trivial Relocatability For C++26: EWG agrees with CWG’s proposal to disallow trivially_relocatable(�) on unnamed struct/class/union.
SF | F | N | A | SA |
---|---|---|---|---|
11 | 12 | 2 | 0 | 0 |
Result: Consensus
Poll: D2786R5 — Trivial Relocatability For C++26: EWG agrees to make a most vexing parse involving trivial relocatability “just work” as a trivially relocatable type by carving out the specific syntax “class-key class-head-name trivially_relocatable (“. For example: struct C trivially_relocatable (bool(my_constexpr_value)) { };
SF | F | N | A | SA |
---|---|---|---|---|
0 | 6 | 10 | 6 | 2 |
Result: Not consensus, paper's status quo prevails
CWG 2024-03-22: Reviewed, needs updates. (Limit "most vexing parse" to potential function parameter declaration by parsing balanced-token-seq starting at (
).
P2786R4: Trivial Relocatability For C++26
(the trait part was voted on as appears in revision P2786R5, with the guarantee from the authors that this part was not changed)
2024-04-10 Library Evolution Telecon Minutes
Champion: Alisdair Meredith, Mungo Gill Chair: Inbal Levi Minute Taker: Robert Leahy
POLL: We approve the design of the “is_trivially_relocatable” trait (as defined in P2786R5):
template< class T > struct is_trivially_relocatable; template< class T > constexpr bool is_trivially_relocatable_v = is_trivially_relocatable< T >::value;
With type properties: template struct is_trivially_relocatable; Condition: T is a trivially relocatable type (6.8.1. [basic.types.general]) Preconditions: remove_all_extents_t shall be a complete type or cv-void
SF | F | N | A | SA |
---|---|---|---|---|
3 | 8 | 0 | 0 | 0 |
Attendance: 20 Author's Position: 2xF Outcome: Strong consensus in favor
To summarize - we approved the design of the “is_trivially_relocatable” trait (as defined in P2786R5).
Design decisions to be made in future discussions for the “trivially_relocate” template function:
We approved the design of the “is_trivially_relocatable” trait (as defined in P2786R5). We still need to look at the “trivially_relocate” template function. Followup sessions are required, to address the design decisions mentioned above.
LEWG would like to see:
A follow-up on this would be by the Convenor and EWG chairs. In case a session on this topic will be scheduled in EWG, we'll have it as a joint one.
P2786R5 Trivial Relocatability For C++26 (Mungo Gill, Alisdair Meredith)
P2786R6 Trivial Relocatability For C++26 (Mungo Gill, Alisdair Meredith)
Poll: P2786R6 — Trivial Relocatability For C++26, given the new information received (P3233R0, P3236R1, P3278R0), we wish to un-forward P2786 from CWG and bring it back to EWG.
SF | F | N | A | SA |
---|---|---|---|---|
21 | 15 | 3 | 6 | 5 |
P2786R0 Trivially relocatability options (Mungo Gill, Alisdair Meredith)