Skip to content

P2996 R11 Reflection for C++26 #1668

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

Open
wg21bot opened this issue Oct 16, 2023 · 53 comments
Open

P2996 R11 Reflection for C++26 #1668

wg21bot opened this issue Oct 16, 2023 · 53 comments
Assignees
Labels
C++26 Targeted at C++26 CWG Core IS Ship vehicle: IS LWG Library lwg-fullreview Paper is ready for lwg full group review reflection size - large paper size estimate
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Oct 16, 2023

P2996R0 Reflection for C++26 (Wyatt Childers, Peter Dimov, Barry Revzin, Andrew Sutton, Faisal Vali, Daveed Vandevoorde)

@wg21bot wg21bot added the EWG Evolution label Oct 16, 2023
@wg21bot wg21bot added this to the 2023-telecon milestone Oct 16, 2023
@cor3ntin cor3ntin added SG7 Reflection reflection labels Oct 16, 2023
@jfbastien jfbastien removed the EWG Evolution label Oct 21, 2023
@hanickadot
Copy link
Collaborator

hanickadot commented Nov 11, 2023

SG7 polls at Kona 2023 meeting:

  1. We want to block the adoption of P2996R1 for C++26 on waiting for a design that has multiple types of handlers based on reflected entities in addition to having just opaque std::meta::info?

SF/F/N/A/SA
0/0/1/5/27
Consensus against.

  1. We want to make sure that in the future operator^ can change resulting types (in future C++ past 26)?

SF/F/N/A/SA
6/15/9/2/3
Consensus. (Not very strong)

  1. Forward P2996R1 to EWG and LEWG?

SF/F/N/A/SA
24/6/3/0/0
Unanimous consensus.

Forwarding to EWG.

@hanickadot hanickadot added EWG Evolution and removed SG7 Reflection labels Nov 11, 2023
@JohelEGP

This comment was marked as resolved.

@wg21bot
Copy link
Collaborator Author

wg21bot commented Dec 19, 2023

P2996R1 Reflection for C++26 (Wyatt Childers, Peter Dimov, Barry Revzin, Andrew Sutton, Faisal Vali, Daveed Vandevoorde)

@wg21bot wg21bot modified the milestones: 2023-telecon, 2024-telecon Dec 19, 2023
@wg21bot wg21bot changed the title P2996 R0 Reflection for C++26 P2996 R1 Reflection for C++26 Dec 19, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Feb 16, 2024

P2996R2 Reflection for C++26 (Wyatt Childers, Peter Dimov, Dan Katz, Barry Revzin, Andrew Sutton, Faisal Vali, Daveed Vandevoorde)

@wg21bot wg21bot changed the title P2996 R1 Reflection for C++26 P2996 R2 Reflection for C++26 Feb 16, 2024
@jfbastien jfbastien added the LEWG Library Evolution label Mar 8, 2024
@hanickadot

This comment was marked as outdated.

@inbal2l inbal2l added C++26 Targeted at C++26 size - large paper size estimate ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review IS Ship vehicle: IS labels Mar 8, 2024
@jfbastien jfbastien added the SG16 Text processing label Mar 19, 2024
@jfbastien
Copy link
Collaborator

From today's joint EWG / LEWG discussion in Tokyo, SG16 needs to provide feedback on the papers because strings can be used to represent source code names and Unicode is tricky. @tahonermann I've tagged SG16 for this.

@tahonermann
Copy link
Collaborator

Thank you @jfbastien, I'll get a discussion scheduled. Related paper: P1953 (Unicode Identifiers And Reflection) tracked by #690.

@erichkeane erichkeane added the SG15 Tooling label Mar 19, 2024
@jensmaurer jensmaurer added the needs-revision Paper needs changes before it can proceed label Nov 21, 2024
@JeffGarland JeffGarland added lwg-fullreview Paper is ready for lwg full group review and removed lwg-pending LWG Chair needs to disposition labels Dec 1, 2024
@JeffGarland JeffGarland moved this to In Progress in 2025 Hagenberg LWG Schedule Dec 4, 2024
@inbal2l
Copy link
Collaborator

inbal2l commented Dec 15, 2024

(not in order)

2024-11-19 Library Evolution Wroclaw Meeting

P2996R8: Reflection for C++26

2024-11-19 Library Evolution Wroclaw Meeting Minutes

Champion: Barry Revzin
Chair: Inbal Levi / Robert Leahy
Minute Taker: Khalil Estell

Summary

The remaining trait functions were reviewed and forwarded.

POLL: Approve wording and design of “consteval bool is_reflection_type(info type);” under [meta.type.synop] [meta.unary.cat].

Attendance: 25 (IP) + 7 (R)
Outcome: No objection for unanimous consent

POLL: Approve the design and wording of [meta.reflection.tuple.variant] in P2996R8.

Attendance: 25 (IP) + 7 (R)
Outcome: No objection for unanimous consent

POLL: Approve the design and wording of [meta.reflection.rel] in P2996R8.

Attendance: 27 (IP) + 6 (R)
Outcome: No objection for unanimous consent

Next Steps

We approved the remain traits under [meta.type.synop] [meta.unary.cat] (is_reflection_type) as well as [meta.reflection.rel], [meta.reflection.tuple.variant]. This have finalized the review of P2996R8, forwarded to LWG for C++26.

@wg21bot
Copy link
Collaborator Author

wg21bot commented Dec 18, 2024

P2996R8 Reflection for C++26 (Barry Revzin, Wyatt Childers, Peter Dimov, Andrew Sutton, Faisal Vali, Daveed Vandevoorde, Dan Katz)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Dec 18, 2024
@wg21bot wg21bot modified the milestones: 2024-telecon, 2025-telecon Dec 18, 2024
@wg21bot wg21bot changed the title P2996 R7 Reflection for C++26 P2996 R8 Reflection for C++26 Dec 18, 2024
@jensmaurer jensmaurer moved this from Awaiting updated wording to Ready for review in CWG Dec 18, 2024
@bstamour
Copy link
Collaborator

bstamour commented Jan 3, 2025

LWG reviewed P2996R9 on 2025-01-03. Many edits were made live during the telecom, but we will be taking a final pass over the paper in Hagenberg.

Meeting minutes

@wg21bot
Copy link
Collaborator Author

wg21bot commented Jan 14, 2025

P2996R9 Reflection for C++26 (Barry Revzin, Wyatt Childers, Peter Dimov, Andrew Sutton, Faisal Vali, Daveed Vandevoorde, Dan Katz)

@wg21bot wg21bot changed the title P2996 R8 Reflection for C++26 P2996 R9 Reflection for C++26 Jan 14, 2025
@jensmaurer
Copy link
Member

See also #2213

@jensmaurer
Copy link
Member

CWG in Hagenberg 2025-02-10: Reviewed.

@jensmaurer
Copy link
Member

CWG 2025-02-11 in Hagenberg: Reviewed D2996R10; needs updates.

@jensmaurer jensmaurer added the needs-revision Paper needs changes before it can proceed label Feb 11, 2025
@hanickadot
Copy link
Collaborator

EWG discussed P3569R0 which proposed splitting stuff out of this paper.

P3569R0: Split substitute out of P2996.

SF F N A SA
5 5 2 16 13

Consensus against.

P3569R0: Split define_aggregate out of P2996.

SF F N A SA
8 6 8 11 8

Not consensus.

@Bekenn
Copy link
Collaborator

Bekenn commented Feb 13, 2025

EWG discussed and approved changes to P2996 since R4 as represented in D2996R10.

D2996R10: Reflection for C++26: EWG Approves of changes made to P2996R4, and forward back to CWG for inclusion in C++26.

SF F N A SA
14 18 1 0 0

Consensus

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Mar 19, 2025
@wg21bot
Copy link
Collaborator Author

wg21bot commented Mar 19, 2025

P2996R10 Reflection for C++26 (Barry Revzin, Wyatt Childers, Peter Dimov, Andrew Sutton, Faisal Vali, Daveed Vandevoorde, Dan Katz)

@wg21bot wg21bot changed the title P2996 R9 Reflection for C++26 P2996 R10 Reflection for C++26 Mar 19, 2025
@jensmaurer
Copy link
Member

D2996R11 is being reviewed in CWG telecons.

@wg21bot
Copy link
Collaborator Author

wg21bot commented Apr 17, 2025

P2996R11 Reflection for C++26 (Barry Revzin, Wyatt Childers, Peter Dimov, Andrew Sutton, Faisal Vali, Daveed Vandevoorde, Dan Katz)

@wg21bot wg21bot changed the title P2996 R10 Reflection for C++26 P2996 R11 Reflection for C++26 Apr 17, 2025
@inbal2l
Copy link
Collaborator

inbal2l commented May 5, 2025

2025-04-01 Library Evolution Telecon

P2996R11: Reflection for C++26

2025-04-01 Library Evolution Hagenberg Minutes

Champion: Dan Katz
Chair: Inbal Levi
Minute Taker: Bronek Kozicki

Summary

POLL: Approve the addition of is_consteval_only type trait as described in P2996R11.

Attendance: 20

Outcome: No objection to unanimous consent

POLL: Approve the addition of:

  1. consteval bool has_c_language_linkage(info r);
  2. consteval bool has_parent(info r)

And modifying the “parent_of” to be specified in terms of “has_parent” as specified in P2996R11.

SF F N A SA
7 9 0 0 0

Attendance: 20
Author's Position: 2xSF
Outcome: Strong consensus in favour

POLL: Approve the renaming of has_complete_definition (approved in P2996R10) and minimization of scope for the function, turned into:

  • consteval bool is_enumerable_type(info r);
SF F N A SA
7 8 0 0 0

Attendance: 20
Author's Position: 2xSF
Outcome: Strong consensus in favour

POLL: Approve the changes as described above in P2996R11 (since P2996R10) and send back to LWG for C++26.

SF F N A SA
12 5 0 0 0

Attendance: 20
Author's Position: 2xSF
Outcome: Strong consensus in favour

Next Steps

The modifications in P2996R11 were approved, and the paper was sent back to LWG for C++26.

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 IS Ship vehicle: IS LWG Library lwg-fullreview Paper is ready for lwg full group review reflection size - large paper size estimate
Projects
Status: In Progress
Status: In Progress
Status: Ready for review
Status: No status
Development

No branches or pull requests