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

P2350 constexpr class #1028

Open
wg21bot opened this issue Apr 25, 2021 · 5 comments
Open

P2350 constexpr class #1028

wg21bot opened this issue Apr 25, 2021 · 5 comments
Labels
EWG Evolution needs-revision Paper needs changes before it can proceed

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Apr 25, 2021

P2350R0 constexpr class (Andreas Fertig)

@wg21bot wg21bot added the EWG Evolution label Apr 25, 2021
@wg21bot wg21bot added this to the 2021-telecon milestone Apr 25, 2021
@jfbastien
Copy link
Collaborator

We saw this paper in yesterday's EWG telecon:

POLL: we are interested in pursuing a way to specify that multiple/all class members are constexpr, either as suggested in this paper or through another mechanism, considering that time is limited and there is only so much work we can do.

SF F N A SA
2 5 2 2 0

Result: consensus.

POLL: support class-level consteval at the same time or before supporting constexpr, to inform the design of class constexpr.

SF F N A SA
2 8 3 0 0

Result: consensus.

POLL: use access specifier constexpr instead of class-level constexpr.

SF F N A SA
0 1 3 4 5

Result: no consensus.

POLL: class-level constexpr should also affect friend functions.

SF F N A SA
0 1 2 5 1

Result: no consensus.

POLL: it should be ill-formed to put constexpr on a class which can’t be entirely constexpr (e.g. because of its base or data members not being constexpr).

SF F N A SA
0 4 2 4 1

Result: no consensus.

POLL: static data members should also be constexpr in a constexpr class.

SF F N A SA
3 4 0 1 0

Result: consensus.

POLL: allow constexpr and final to appear in either order.

SF F N A SA
2 6 4 0 0

Result: consensus.

@jfbastien jfbastien added the needs-revision Paper needs changes before it can proceed label Jul 22, 2021
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jul 30, 2021

P2350R1 constexpr class (Andreas Fertig)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Jul 30, 2021
@jfbastien
Copy link
Collaborator

Seen in today's EWG telecon:

POLL: having seen what class-level consteval looks like, we still want it in P2350.

SF F N A SA
0 1 7 8 0

Result: consensus against, we don’t want consteval in P2350.

POLL: send P2350 to electronic polling, targeting CWG for C++23.

SF F N A SA
4 8 2 3 0

Result: consensus.

POLL: given that Committee time is limited, we’d like to see a different paper which further explores class-level consteval.

SF F N A SA
3 5 8 0 0

Result: consensus.

POLL: given that Committee time is limited, we’d like to see a different paper which proposes implicit constexpr.

SF F N A SA
7 4 1 4 1

Result: consensus.

@jfbastien jfbastien added needs-revision Paper needs changes before it can proceed EWG-vote-on-me EWG can vote on this labels Oct 13, 2021
@wg21bot
Copy link
Collaborator Author

wg21bot commented Oct 26, 2021

P2350R2 constexpr class (Andreas Fertig)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Oct 26, 2021
@jensmaurer jensmaurer added the C++23 Targeted at C++23 label Jan 1, 2022
@jensmaurer jensmaurer modified the milestones: 2021-telecon, 2022-telecon Jan 1, 2022
@jfbastien jfbastien added needs-revision Paper needs changes before it can proceed and removed EWG-vote-on-me EWG can vote on this C++23 Targeted at C++23 labels Feb 27, 2022
@jfbastien
Copy link
Collaborator

2022-02 poll results:

SF F N A SA
12 12 9 5 2
Abstain: 5

Poll outcome:❌ no consensus

@jensmaurer jensmaurer removed this from the 2022-telecon milestone Jan 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EWG Evolution needs-revision Paper needs changes before it can proceed
Projects
None yet
Development

No branches or pull requests

3 participants