Date
2010-10-21.18:28:33
Message id
1573

Content

Proposed resolution:

In [futures.overview] paragraph 1:

template <class F, class... Args>
  future<typename F::result_type>
  future<typename result_of<F(Args...)>::type>
  async(F&& f, Args&&... args);
template <class F, class... Args>
  future<typename F::result_type>
  future<typename result_of<F(Args...)>::type>
  async(launch policy, F&& f, Args&&... args);

In [futures.async] before paragraph 1

template <class F, class... Args>
  future<typename F::result_type>
  future<typename result_of<F(Args...)>::type>
  async(F&& f, Args&&... args);
template <class F, class... Args>
  future<typename F::result_type>
  future<typename result_of<F(Args...)>::type>
  async(launch policy, F&& f, Args&&... args);

...

Remarks: The first signature shall not participate in overload resolution if decay<F>::type is std::launch.