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
@\exposid{sndr}@.reset();
@\exposid{assoc}@([&] {
@\exposid{sender-ref}@ guard{addressof(@\exposid{sndr}@)};
auto assoc = t.try_associate();
Copy link
Member

Choose a reason for hiding this comment

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

Should we choose a different name for this local variable 'assoc' which doesn't shadow the data member assoc?

Copy link
Member Author

@jensmaurer jensmaurer Nov 28, 2025

Choose a reason for hiding this comment

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

ass?

source/exec.tex Outdated
Comment on lines 5079 to 5080
: assoc(std::move(parts.first)) {
if (assoc)
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
: assoc(std::move(parts.first)) {
if (assoc)
: @\exposid{assoc}@(std::move(parts.first)) {
if (@\exposid{assoc}@)

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
if (assoc)
::new (@\placeholdernc{voidify}@(op)) op_t(connect(std::move(*parts.second), std::move(r)));
else
rcvr = addressof(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
rcvr = addressof(r);
@\exposid{rcvr}@ = addressof(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.

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 (@\placeholdernc{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 (@\placeholdernc{voidify}@(op)) op_t(connect(std::move(*parts.second), std::move(r)));
::new (@\placeholdernc{voidify}@(@\exposid{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.

Fixed.

source/exec.tex Outdated
\pnum
\exposid{association-t} is a class template,
specializations of which model \libconcept{scope_association} and
contain an exposition-only member scope of type \tcode{Scope*}.
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
contain an exposition-only member scope of type \tcode{Scope*}.
contain an exposition-only member \exposid{scope} of type \tcode{Scope*}.

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
\tcode{assoc} is engaged when \tcode{assoc.\exposid{scope} != nullptr} is \tcode{true},
\item
if \tcode{assoc} is engaged,
then \tcode{assoc.\exposid{try_associate}()} is equivalent to
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 \tcode{assoc.\exposid{try_associate}()} is equivalent to
then \tcode{assoc.try_associate()} is equivalent to

Looks like you put the \exposid here, when it should have been on the line below.

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
\tcode{assoc.scope->try-associate()}, and
\item
the association owned by \tcode{assoc}
is released by invoking \tcode{assoc.scope->\exposid{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->\exposid{disassociate}()}.
is released by invoking \tcode{assoc.\exposid{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.

// \ref{exec.simple.counting.token}, token
struct token;

using @\exposid{assoc-t}@ = @\exposid{association-t}@<simple_counting_scope>; // \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
using @\exposid{assoc-t}@ = @\exposid{association-t}@<simple_counting_scope>; // \expos
// \ref{exec.simple.counting.assoc}, assoc
using @\exposid{assoc-t}@ = @\exposid{association-t}@<simple_counting_scope>; // \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.

That label doesn't exist.

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

6 participants