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.


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);