For futures::retrying, detect policy type using std::result_of
Summary:
[Folly] For `futures::retrying`, detect policy type using `std::result_of`.
`FOLLY_CREATE_HAS_MEMBER_FN_TRAITS` does not work in all cases. For example, it does not work with inherited members.
And it is not really what we want, anyway, which is to dispatch based on the result type of invoking the policy with a particular set of arguments. We can do that more directly using `std::result_of`. And if we did not have `std::result_of`, then we could do that with SFINAE directly.
Reviewed By: WillerZ
Differential Revision:
D5361808
fbshipit-source-id:
23f969dfd6dbaaa944dc2288e70c3ea11d3398f0