Skip to content

[exec.let] Fix let-env argument in let-state env_t and constructor#9143

Open
abhinavagarwal07 wants to merge 1 commit into
cplusplus:mainfrom
abhinavagarwal07:fix-exec-let-env-comma-operator
Open

[exec.let] Fix let-env argument in let-state env_t and constructor#9143
abhinavagarwal07 wants to merge 1 commit into
cplusplus:mainfrom
abhinavagarwal07:fix-exec-let-env-comma-operator

Conversation

@abhinavagarwal07

@abhinavagarwal07 abhinavagarwal07 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Fix two let-state uses of let-env that accidentally pass get_env(...) outside the call, making it a comma expression instead of the second argument.

In the let-state exposition-only class template, a misplaced closing
parenthesis turned get_env(...) into a comma-operator operand instead of
the second argument to let-env. As a result env_t collapsed to
decltype(get_env(declval<Rcvr&>())), dropping the inner-sender
environment overlay (completion scheduler/domain) carried by let-env,
and the constructor's env initializer was inconsistent with that alias.

Move the closing parenthesis so get_env(rcvr) is passed as let-env's
second argument, matching the two-argument let-env defined earlier in
[exec.let] and the env-t used by the check-types constraint. receiver2's
get_env already composes env over get_env(rcvr), so storing the raw
let-env result is sufficient.
@eisenwave eisenwave added the P1-Important Misapplication of paper, malformed code, internal inconsistencies label Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P1-Important Misapplication of paper, malformed code, internal inconsistencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants