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

2530. Clarify observable side effects of releasing a shared state

Section: 30.6.5 [futures.state] Status: Open Submitter: Agustín K-ballo Bergé Opened: 2015-09-03 Last modified: 2016-08-06

Priority: 3

View all other issues in [futures.state].

View all issues with Open status.


When a shared-state is released, it may be necessary to execute user defined code for the destructor of a stored value or exception. It is unclear whether the execution of said destructor constitutes an observable side effect.

While discussing N4445 in Lenexa, Nat Goodspeed pointed out that 30.6.5 [futures.state]/5.1 does not explicitly mention the destruction of the result, so implementations should be allowed to release (or reuse) a shared state ahead of time under the "as-if" rule.

The standard should clarify whether the execution of destructors is a visible side effect of releasing a shared state.

[2016-08-03 Chicago]

This is related to 2532

Fri AM: Moved to Open

Proposed resolution: