Skip to content

Conversation

@jensmaurer
Copy link
Member

Fixes NB FI-392, CA-393 (C++26 CD).

Fixes #8475
Fixes cplusplus/papers#2426

Fixes cplusplus/nbballot#967
Fixes cplusplus/nbballot#968

Fixes NB FI-392, CA-393 (C++26 CD).
@jensmaurer jensmaurer added this to the post-2025-11 milestone Nov 15, 2025
source/exec.tex Outdated
Comment on lines 5066 to 5067
using assoc_t = associate_data_t::assoc-t;
using sender_ref_t = associate_data_t::sender-ref;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
using assoc_t = associate_data_t::assoc-t;
using sender_ref_t = associate_data_t::sender-ref;
using assoc_t = associate_data_t::@\exposid{assoc-t}@;
using sender_ref_t = associate_data_t::@\exposid{sender-ref}@;

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

source/exec.tex Outdated
explicit op_state(pair<assoc_t, sender_ref_t> parts, Rcvr& r)
: assoc(std::move(parts.first)) {
if (assoc)
::new (voidify(op)) op_t(connect(std::move(*parts.second), std::move(r)));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
::new (voidify(op)) op_t(connect(std::move(*parts.second), std::move(r)));
::new (@\exposid{voidify}@(op)) op_t(connect(std::move(*parts.second), std::move(r)));

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do \placeholdernc for voidify everywhere else, so doing this here as well. (Although it feels wrong.)

source/exec.tex Outdated
\begin{codeblock}
is_nothrow_constructible_v<remove_cvref_t<Sndr>, Sndr> &&
is_nothrow_move_constructible_v<@\exposid{wrap-sender}@> &&
(is_same_v<Sndr, remove_cvref_t> ||
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is_same_v<Sndr, remove_cvref_t> ?! ?!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is meant to be remove_cvref_t<Sndr>. Artifacts of the unescaped html tag can be found in the paper source.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

\indexlibrarymember{\exposid{run}}{execution::\exposid{spawn-state}}%
\begin{itemdecl}
void @\exposid{run}@();
void @\exposid{run}@() noexcept;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Forgot to make it noexcept in synopsis.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

source/exec.tex Outdated
requires(const Token token) {
{ token.try_associate() } -> @\libconcept{same_as}@<bool>;
{ token.disassociate() } noexcept -> @\libconcept{same_as}@<void>;
{ token.try_associate() } -> @\libconcept{scope_association}@<bool>;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this fix would be worth a separate fixup commit; it's not in the paper at least.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not have <bool>.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"fixups" are squashed eventually. If we have non-obvious fixes beyond the paper's contents, those should go into separate non-fixup comments.

That said, this change is in the incoming paper, as far as I can say: "Let test-sender and test-env be unspecified types such that ..." (and the codeblock that follows).

(Fixed <bool> transcription error.)

source/exec.tex Outdated
};

template<class Scope>
@\exposid{struct association-t}@; // \expos
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
@\exposid{struct association-t}@; // \expos
struct @\exposid{association-t}@; // \expos

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

\item
if \tcode{assoc} is engaged,
then \tcode{assoc.try_associate()} is equivalent to
\tcode{assoc.scope->try-associate()}, and
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
\tcode{assoc.scope->try-associate()}, and
\tcode{assoc.scope->\exposid{try-associate}()}, and

source/exec.tex Outdated
\tcode{assoc.scope->try-associate()}, and
\item
the association owned by \tcode{assoc}
is released by invoking \tcode{assoc.scope->disassociate()}.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
is released by invoking \tcode{assoc.scope->disassociate()}.
is released by invoking \tcode{assoc.scope->\exposid{disassociate}()}.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

source/exec.tex Outdated
\pnum
\effects
If \exposid{count} is equal to \tcode{max_associations},
then no effects. Otherwise, if \exposid{state} is
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
then no effects. Otherwise, if \exposid{state} is
then no effects.
Otherwise, if \exposid{state} is

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[2025-11 LWG Motion 16] P3815R1 Add scope_association concept to P3149 P3815 R0 Add scope_association concept to P3149

4 participants