More importantly, a completion signature should be a call signature like R(Args...), not just a pack expansion.
I haven't been able to think of a fix for the wording, because if I understand correctly the choice of R is arbitrary here, it isn't actually used because the return_type only depends on result_of_t<_Func(decay_t<_Args>...)> not R.
Maybe something like ...
Let R(Args...) by the completion signature of an asynchronous operation using H
[async.use.future.members] says
I think "by" should be "be"
More importantly, a completion signature should be a call signature like
R(Args...)
, not just a pack expansion.I haven't been able to think of a fix for the wording, because if I understand correctly the choice of
R
is arbitrary here, it isn't actually used because thereturn_type
only depends onresult_of_t<_Func(decay_t<_Args>...)>
notR
.Maybe something like ...