Repository navigation
P2615 Meaningful exports CWG2443 #1236
Description
Activity
This was discussed during the EWG 6/23/2022 Telecon, and the following poll was taken:
EWG Approves of the direction of Core's proposed solution to CWG2443 as a Defect Report.
SF F N A SA 7 6 0 0 0 Result: Consensus
This will be forwarded to CWG, pending feedback from a not-present-for-the-discussion implementer.
CWG telecon 2022-07-01: Reviewed; needs a re-review due to a late small wording update.
An objection was raised against removing the normative requirement "An exported declaration that is not a module-import-declaration shall declare at least one name." As agreed with the EWG chair, the concern will be discussed in the upcoming EWG telecon.
P2615R0 Meaningful exports (Davis Herring)
- changed the title
[-]CWG2443 Meaningless template exports[/-][+]P2615R Meaningful exports CWG2443[/+]on Jul 2, 2022 - changed the title
[-]P2615R Meaningful exports CWG2443[/-][+]P2615 Meaningful exports CWG2443[/+]on Jul 2, 2022 Time + Chair error resulted in this not getting seen at the 7/7 EWG telecon, so I'll ensure it is scheduled 1st thing on the 7/21 meeting.
CWG telecon 2022-07-15: Approved P2615R0 pending EWG approval.
P2615R0 Meaningful exports (S. Davis Herring)
Re-discussed during the EWG 7/21/2022 Telecon, and the following poll was (re)taken:
SF F N A SA 1 3 4 2 2 Result: Not Consensus
Due to the procedural concerns, this is replacing the previous vote on this topic. During the meeting, a replacement proposal was promised in the next mailing or so to solve this core issue.
3 remaining items
- addedCWGCoreCoreand removedneeds-revisionPaper needs changes before it can proceedPaper needs changes before it can proceed
on Nov 10, 2022 - addedneeds-revisionPaper needs changes before it can proceedPaper needs changes before it can proceed
on Nov 10, 2022 Davis tells us he needs to change the paper to implement EWG guidance.
We need to address a few more cases:
static_assert(...); // as discussed, accept asm("..."); // as discussed, accept template void f(); // as discussed, reject template<> void f<int>(); // as discussed, reject A() -> A<0>; // treat like template and reject? ; // treat like static_assert and accept? [[...]]; // treat like static_assert and accept?
The potentially attributed null statement may have the 'export' keyword, despite it being meaningless.
SF F N A SA 5 1 1 1 1 Result: Consensus
A deduction guide declaration inside of an
export {}should be permitted, despite not having meaning.SF F N A SA 7 2 0 0 1 Result: Consensus
exporton a deduction guide declaration (no {}) should be permitted, despite not having meaning.SF F N A SA 6 2 1 0 2 Result: Consensus
- addedplenary-approvedPapers approved for inclusion in their target vehicle by plenary vote.Papers approved for inclusion in their target vehicle by plenary vote.
on Nov 12, 2022 P2615R1 Meaningful exports (S. Davis Herring)
- removedneeds-revisionPaper needs changes before it can proceedPaper needs changes before it can proceed
on Dec 5, 2022
In its 2022-05-20 telecon, CWG agreed with the wording for CWG2443 as shown here:
https://wiki.edg.com/pub/Wg21telecons2022/CoreWorkingGroup/cwg2443.html
Allowing (almost) any kind of declaration in the declaration-seq of an export-declaration is a design change that needs EWG approval.