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.

### 1269. Associated state doesn't account for `async`

Section: 32.9.5 [futures.state] Status: Resolved Submitter: Anthony Williams Opened: 2009-11-18 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [futures.state].

View all issues with Resolved status.

Discussion:

The current description of the associated state in 32.9.5 [futures.state] does not allow for futures created by an `async` call. The description therefore needs to be extended to cover that.

[ 2010 Pittsburgh: Moved to NAD Editorial Resolved. Rationale added below. ]

Rationale:

Solved by N3058.

Proposed resolution:

Add a new sentence to 32.9.5 [futures.state] p2:

> 2 This associated state consists of some state information and some (possibly not yet evaluated) result, which can be a (possibly `void`) value or an exception. If the associated state was created by a call to `async` (32.9.9 [futures.async]) then it may also contain a deferred function or an associated `thread`.

Add an extra bullet to 32.9.5 [futures.state] p3:

> The result of an associated state can be set by calling:

> - `promise::set_value`,
> - `promise::set_exception`, or
> - packaged_task::operator()., or
> - a call to `async` (32.9.9 [futures.async]).