Skip to content

Commit 0dd4558

Browse files
r-barnesfacebook-github-bot
authored andcommitted
Change result_of to invoke_result in gloo/transport/uv/libuv.h
Summary: C++20 has [eliminated](https://en.cppreference.com/w/cpp/types/result_of) `result_of` in favour of `invoke_result`. It's mysterious that this code even still works, but, nevertheless, I'm fixing it. Differential Revision: D56987407 fbshipit-source-id: 3ebe7bb70af42590fa88e49641c5fcd559aa2ad9
1 parent 85f72f1 commit 0dd4558

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

gloo/transport/uv/libuv.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ class Handle : public Resource<T, U>, public BaseHandle {
346346
}
347347

348348
template <typename F, typename... Args>
349-
typename std::result_of<F(Args...)>::type invoke(F&& f, Args&&... args) {
349+
typename std::invoke_result<F, Args...>::type invoke(F&& f, Args&&... args) {
350350
return std::forward<F>(f)(std::forward<Args>(args)...);
351351
}
352352

@@ -383,8 +383,8 @@ class Request : public Resource<T, U>, public BaseRequest {
383383
// assumption that it is unleaked when the callback gets called.
384384
template <typename F, typename... Args>
385385
typename std::enable_if<
386-
!std::is_void<typename std::result_of<F(Args...)>::type>::value,
387-
typename std::result_of<F(Args...)>::type>::type
386+
!std::is_void<typename std::invoke_result<F, Args...>::type>::value,
387+
typename std::invoke_result<F, Args...>::type>::type
388388
invoke(F&& f, Args&&... args) {
389389
auto err = std::forward<F>(f)(std::forward<Args>(args)...);
390390
if (err) {

0 commit comments

Comments
 (0)