This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Resolved status.

4330. affine_on semantics

Section: 33.13.3 [exec.affine.on] Status: Resolved Submitter: Dietmar Kühl Opened: 2025-08-31 Last modified: 2026-04-01

Priority: 2

View all other issues in [exec.affine.on].

View all issues with Resolved status.

Discussion:

Addresses US 233-365

The specification of affine_on uses "current execution resource" and it is unclear what that means exactly. Additionally, it is unclear what the difference between affine_on and continues_on is. The intended difference for affine_on is to avoid unnecessary scheduling which continues_on is already allowed to do in some cases, too.

The intended semantics is that affine_on will either complete inline on whatever execution agent it was started on or it will complete asynchronously on the specified execution context. With this formulation affine_on may complete on one of two different execution context if it is started on an execution context that is different from the one specified by the scheduler.

[2025-10-23; Reflector poll. Status changed: New → LEWG]

Set priority to 2 after reflector poll. Send to LEWG.

[2026-04-01 Resolved by the adoption of P3941R4 at Croydon, 2026. Status changed: LEWG → Resolved.]

Proposed resolution: