cplusplus / nbballot

Handling of NB comments in response to ballots
14 stars 4 forks source link

FR-026-018 10.2p3 [module.interface] Allow exporting asm and static_assert #428

Closed wg21bot closed 1 year ago

wg21bot commented 1 year ago

This paragraph forbids asm-declaration, static_assert-declaration, and a few other declarations not introducing names from being an exported declaration. This restriction can be a practical burden.

Allow these declarations to be exported declarations, with appropriate semantics. They should all be allowed as single exported declaration whether enclosed in braces or not.

jensmaurer commented 1 year ago

Related to and possibly opposing #431.

erichkeane commented 1 year ago

1: export static_assert(true); // mild preference for bad 2: export {static_assert(true);} // strong preference for OK 3: export template void f(); // strong preference for bad 4: template export void f(); // strong preference for bad 5: export {template void f();} // strong preference for OK

Forward P2615R0 (CWG 2443 resolution) to CWG for inclusion in C++23 (Options 2-5 as preferred above, Option 1 still prohibited). SF F N A SA
10 9 4 2 0

Result: Consensus

Additionally permit Option 1 above as proposed in D2715R0. SF F N A SA
2 6 13 1 0

Result: Consensus

jfbastien commented 1 year ago

Resolved by https://github.com/cplusplus/papers/issues/1236 and D2715R0

jensmaurer commented 1 year ago

CWG 2022-11-11: Addressed by P2615R1.

jensmaurer commented 1 year ago

Accepted with Modifications. See P2615R1 for details.