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

### 1107. constructor `shared_future(unique_future)` by value?

Section: 33.10.8 [futures.shared.future] Status: NAD Editorial Submitter: Thomas J. Gritzan Opened: 2009-04-03 Last modified: 2021-06-06

Priority: Not Prioritized

View all other issues in [futures.shared.future].

View all issues with NAD Editorial status.

Discussion:

In the `shared_future` class definition in [futures.shared_future] the move constructor that constructs a `shared_future` from an `unique_future` receives the parameter by value. In paragraph 3, the same constructor receives it as const value.

I think that is a mistake and the constructor should take a r-value reference:

>     shared_future(unique_future<R>&& rhs);

[ Batavia (2009-05): ]

> We agree with the proposed resolution.

> Move to Tentatively Ready.

[ 2009-07-05 Daniel notes: ]

> The proposed change has already been incorported into the current working draft N2914.

Proposed resolution:

Change the synopsis in [futures.shared_future]:

>     shared_future(unique_future<R>&& rhs);

Change the definition of the constructor in [futures.shared_future]:

>     shared_future(const unique_future<R>&& rhs);