lpc()'s return type is decltype(to_future(func())), which is incorrect if func returns void

Issue #87 resolved
Amir Kamil created an issue

to_future() cannot be applied to void, so this won't compile. (It would also need to be a trailing return type since func is not yet in scope.) Instead, I suggest using future_invoke_result_t<Func> instead, which will produce future<> in this case.

Comments (1)

  1. Amir Kamil reporter

    Fix Issue #87: lpc()'s return type is decltype(to_future(func())), which is incorrect if func returns void. Also remove wording that implies that a copy of the associated value is done when func() returns a future. This is not the case if the associated value is stored by reference (e.g. future<dist_object<T>&>).

    → <<cset 8e409d10a39a>>

  2. Log in to comment