[Motions 2026 03 lwg 2] P4146R0 C++ Standard Library Immediate Issues#8935
[Motions 2026 03 lwg 2] P4146R0 C++ Standard Library Immediate Issues#8935
Conversation
29c2e35 to
ed9db42
Compare
Fixes NB RU 268 (C++26 CD).
…e first range is input and one of the ranges is empty
45d9c2d to
b87b2ae
Compare
…lity Fixes NB US 135-216, US 136-217 (C++26 CD).
…g std::inplace_vector
Fixes NB US 242-372 (C++26 CD).
jwakely
left a comment
There was a problem hiding this comment.
Some changes, some comments not requiring actions, and some questions.
| After that invokes \tcode{\exposid{handle}.resume()}. | ||
| \end{itemdescr} | ||
|
|
||
| \indexlibrarymember{\exposid{get-stop-token}}{task::\exposid{state}}% |
There was a problem hiding this comment.
Should this exposition-only member function be indexed? Huh, we do it for lots of others ... OK then.
| Otherwise, it is expression-equivalent to | ||
| \tcode{\exposid{MANDATE-NOTHROW}(rcvr.set_value(vs...))}. | ||
|
|
||
| \mandates |
There was a problem hiding this comment.
Do we want a new paragraph for this? The issue doesn't request it, and some other places in [exec] have Mandates attached to other paragraphs (or list items), so I'm not sure.
| \mandates | |
| \pnum | |
| \mandates |
If we do it here, we should do it below as well.
(Maybe our library element macros like \mandates and \expects should have an implicit \pnum, and then have a raw form for cases like this and [structure.specifications] and [exec.get.fwd.progress] p2 where we don't want a new paragraph and a pnum.)
There was a problem hiding this comment.
This is a weird case where we're not in an itemdescr, so our existing guidance doesn't really apply. I thought we'd just go with what's in the paper, but I agree that this sitution could do with some thought.
There was a problem hiding this comment.
[exec] has quite a lot of these cases.
There was a problem hiding this comment.
Alright, OK. That's certainly one less discrepancy with how it's used inside itemdecls.
There was a problem hiding this comment.
But let's do that later, since it touches a lot of pre-existing mandates.
There was a problem hiding this comment.
I think I count 16 occurrences of \mandates without preceding \pnum.
| returns an object \exposid{V} such that | ||
| \tcode{\exposid{V}.data()[\exposid{V}.size()]} equals \tcode{'\textbackslash 0'}. | ||
| Each element of the range | ||
| \tcode{\exposid{V}.data() +} \range{0}{\exposid{V}.size()} |
There was a problem hiding this comment.
This should be a closed range, not half-open, and the + should be math font not code font:
| \tcode{\exposid{V}.data() +} \range{0}{\exposid{V}.size()} | |
| $\tcode{\exposid{V}.data()} + \crange{0}{\exposid{V}.size()}$ |
We have the \countedrange macro for X+[0,n) but it always uses a half-open range. We could add \countedcrange for X+[0,n] but I think this is the only place we need it.
There was a problem hiding this comment.
Did we have to say it so weirdly? Why not [V.data(), V.data() + V.size()]...? I understand the appeal of "itetor plus range" notation when it's elegant and compact, but here we already have to say two member function calls of V anyway...
41d414d to
5f316fe
Compare
Fixes NB US 257-382 (C++26 CD). Editorial note: * [task.state] Insert comma in "if ... is true, returns ...". * [task.state] Change "After that" to "Finally,".
… min/max considerations Fixes NB US 142-236 (C++26 CD).
Fixes NB US 249-379 (C++26 CD).
… requests to spawned work [exec.spawn.future] "receiver" in struct "future-operation" renamed to "receiverx" due to concept of same name.
Fixes NB GB 07, GB 11 (C++26 CD).
… memory contents
…to concat_view Fixes NB FR 025-246 (C++26 CD).
Fixes NB US 139-232 (C++26 CD).
Fixes NB US 81-149 (C++26 CD).
Fixes NB US 75-138 (C++26 CD).
5f316fe to
4c8da02
Compare
Fixes #8836.