Skip to content

P2169 R4 A Nice Placeholder With No Name #878

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

Closed
wg21bot opened this issue May 21, 2020 · 17 comments · Fixed by cplusplus/draft#6326
Closed

P2169 R4 A Nice Placeholder With No Name #878

wg21bot opened this issue May 21, 2020 · 17 comments · Fixed by cplusplus/draft#6326
Labels
C++26 Targeted at C++26 CWG Core plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. SG22 C / C++ liaison
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented May 21, 2020

P2169R0 A Nice Placeholder With No Name (Corentin Jabot, Michael Park)

@wg21bot wg21bot added the EWG Evolution label May 21, 2020
@wg21bot wg21bot added this to the 2020-telecon milestone May 21, 2020
@wg21bot
Copy link
Collaborator Author

wg21bot commented Aug 1, 2020

P2169R1 A Nice Placeholder With No Name (Corentin Jabot, Michael Park)

@wg21bot
Copy link
Collaborator Author

wg21bot commented Sep 23, 2020

P2169R2 A Nice Placeholder With No Name (Corentin Jabot, Michael Park)

@erichkeane
Copy link
Collaborator

EWG would like to see this paper again with CWG expert reviewed wording, as well as further implementation and deployment experience.

SF F N A SA
19 9 3 0 0

Result: Consensus

@wg21bot
Copy link
Collaborator Author

wg21bot commented Jan 16, 2023

P2169R3 A Nice Placeholder With No Name (Corentin Jabot, Michael Park)

@erichkeane
Copy link
Collaborator

This was discussed during the Feb 6, 2023 Morning Session in Issaquah, and the following poll were taken:

P2169R3

Forward P2169R3 to CWG for inclusion in C++26.

SF F N A SA
18 7 4 6 1

Result: Not Consensus

@erichkeane erichkeane added the needs-revision Paper needs changes before it can proceed label Feb 6, 2023
@jfbastien
Copy link
Collaborator

Feedback was provided to the author during the discussion. There's a path forward to getting the A / SA votes to support inclusion in C++26.

@japm48

This comment was marked as off-topic.

@jwakely

This comment was marked as off-topic.

@cor3ntin
Copy link

cor3ntin commented Jun 3, 2023

@erichkeane @jfbastien FYI I did not make a R4 but the implementation was fixed which i think was EWG sole objection. I'd like to present R3 again https://lists.isocpp.org/ext/2023/03/20976.php

@jfbastien jfbastien added ewg-wednesday-pm and removed needs-revision Paper needs changes before it can proceed labels Jun 4, 2023
@erichkeane
Copy link
Collaborator

P2169R3 was discussed in the Wednesday morning session in Varna. The following poll was taken:

Forward P2169R3 (A nice placeholder with no name) to CWG for inclusion in C++26.

SF F N A SA
15 9 4 0 0

Result: Consensus

@erichkeane erichkeane added CWG Core and removed EWG Evolution ewg-wednesday-am labels Jun 14, 2023
@jensmaurer
Copy link
Member

CWG 2023-06-14: Reviewed; updated. More review planned for Friday.

@jensmaurer jensmaurer added EWG Evolution and removed CWG Core labels Jun 15, 2023
@jensmaurer
Copy link
Member

jensmaurer commented Jun 15, 2023

CWG 2023-06-15: Reviewed; updated.

Question for EWG: Is it intentional that requires-clause parameters are excluded from the special rules for _ ?

template <typename T>
concept C = requires(T _, T *_) { typename T; };

Also, CWG is wondering about consistency between the declaration of a non-type template parameter, a function parameter, and a parameter of a requires-clause. In all three cases, you can just omit the name, thus the "underscore" feature is not really needed there. Note that template parameter names enjoy special redeclaration protection in the body of the template, so that would need to be addressed by the wording.

@erichkeane
Copy link
Collaborator

P2169 was discussed in EWG on Thursday morning in Varna. The following polls were taken:

For P2169, permit placeholder-with-no-name in requires clause parameter names.

SF F N A SA
2 16 7 0 0

Result: Consensus

For P2169, permit placeholder-with-no-name to non-type template parameter names.

SF F N A SA
1 6 15 1 2

Result: Not Consensus

P2169 should have a feature test macro.

SF F N A SA
6 7 10 1 0

Result: Consensus

This is ready for CWG to re-review.

@jensmaurer jensmaurer added CWG Core needs-revision Paper needs changes before it can proceed and removed EWG Evolution needs-revision Paper needs changes before it can proceed labels Jun 15, 2023
@jensmaurer
Copy link
Member

jensmaurer commented Jun 16, 2023

CWG 2023-06-16: Reviewed. CWG consensus: Concerned about inconsistency about parameter-declaration. Alternative consistent model: Allow _ only in places where you otherwise are required to give a name. Jonathan Caves will represent CWG for that issue.

@jensmaurer jensmaurer added EWG Evolution and removed CWG Core labels Jun 16, 2023
@jfbastien jfbastien added CWG Core and removed EWG Evolution labels Jun 16, 2023
@jfbastien
Copy link
Collaborator

jfbastien commented Jun 16, 2023

P2169 “A Nice Placeholder With No Name” EWG wants to disallow function parameters and requires clauses from using the placeholder _

SF F N A SA
5 7 7 0 2

Result: Consensus
SA: function parameters would use _ pervasively.

P2169 “A Nice Placeholder With No Name” EWG want to allow non-types template parameters to use the placeholder _

SF F N A SA
1 2 14 3 1

Result: not consensus

@jensmaurer jensmaurer added the C++26 Targeted at C++26 label Jun 16, 2023
@jensmaurer
Copy link
Member

CWG 2023-06-16: Approved.

@cor3ntin cor3ntin added the plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. label Jun 17, 2023
@jensmaurer jensmaurer added the SG22 C / C++ liaison label Jun 17, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jul 21, 2023

P2169R4 A Nice Placeholder With No Name (Corentin Jabot, Michael Park)

@wg21bot wg21bot changed the title P2169 A Nice Placeholder With No Name P2169 R4 A Nice Placeholder With No Name Jul 21, 2023
@jensmaurer jensmaurer added this to CWG Jul 15, 2024
@jensmaurer jensmaurer moved this to Approved for plenary vote in CWG Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++26 Targeted at C++26 CWG Core plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. SG22 C / C++ liaison
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

7 participants