[2026-03 CWG Motion 9] P3726R2 Adjustments to Union Lifetime Rules#8888
[2026-03 CWG Motion 9] P3726R2 Adjustments to Union Lifetime Rules#8888eisenwave wants to merge 5 commits intocplusplus:mainfrom
Conversation
|
Dunno if we also want to link the other NB comments here (which I forgot to mention in the paper):
|
Fixes NB DE-087 (C++26 CD).
The formal term is just "aggregate", with no type, which is surprising, but oh well.
b161010 to
597616d
Compare
Thanks for the list. I'll leave that up to Thomas. I'm not sure if we want dupes and already closed issues to be referenced in the commit message and/or in the issue. |
|
I think we want links to "accepted" NB comments in the commit and in the pull request where the commit contributes to resolving the NB comment. That also includes duplicates (because national bodies ostensibly don't know about each other's comment), but not "rejected; we're going in another direction" issues. |
source/basic.tex
Outdated
| occupied by the complete object of that subobject. | ||
|
|
||
| \pnum | ||
| The \defn{union elemental subobject} is |
There was a problem hiding this comment.
The text says "A", not "The"?
Also, can we index this under "union"?
There was a problem hiding this comment.
and/or under "subobject" -- maybe have both, and have one "see other"?
There was a problem hiding this comment.
I fixed the "The".
I honestly don't know how to perform the double nested indexing you're looking for. Just nesting it under union would be defnadj I guess. If you can give me the exact code, I can add it to the PR.
| #define @\defnlibxname{cpp_lib_ssize}@ 201902L // freestanding, also in \libheader{iterator} | ||
| #define @\defnlibxname{cpp_lib_sstream_from_string_view}@ 202306L // also in \libheader{sstream} | ||
| #define @\defnlibxname{cpp_lib_stacktrace}@ 202011L // also in \libheader{stacktrace} | ||
| #define @\defnlibxname{cpp_lib_start_lifetime}@ 202603L // freestanding, also in \libheader{memory} |
There was a problem hiding this comment.
"freestanding" is not in the paper?
There was a problem hiding this comment.
OK, but it's in the synopsis. We can mention it as an editorial fix.
There was a problem hiding this comment.
It's in a fixup commit right now. Maybe it deserves a proper message.
| \pnum | ||
| \mandates | ||
| \tcode{T} is a complete type and | ||
| an implicit-lifetime\iref{basic.types} aggregate\iref{dcl.init.aggr}. |
There was a problem hiding this comment.
It's intentionally removed by fixup commit. The defined term is just "aggregate", not "aggregate type", though this continues to surprise people.
Fixes NB DE-087 (C++26 CD).
Fixes #8830
Also fixes cplusplus/papers#2356
Also fixes https://github.com/cplusplus/nbballot/issues/664
Also fixes cplusplus/papers#2418