aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Prichard <rprichard@google.com>2024-02-28 03:48:42 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-02-28 03:48:42 +0000
commit3307a6455e4da9520ac7bc3f10f972dab4d734be (patch)
tree9ec3cfde551cd73d089cb70c79ff0674df76c42d
parentd53c80d78835e4465edd59e8ea19c259d05ec54b (diff)
parent355831b13da23ebc1fd22fe8a38cb526d7906fd2 (diff)
downloadgrpc-grpc-master.tar.gz
C++20 compat: use invoke_result_t instead of result_of am: 355831b13dHEADmastermain
Original change: https://android-review.googlesource.com/c/platform/external/grpc-grpc/+/2980335 Change-Id: I3a2ad283a0d92dbcf51de09b14761763bd333f39 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--src/core/lib/promise/detail/promise_like.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/lib/promise/detail/promise_like.h b/src/core/lib/promise/detail/promise_like.h
index 395c325873..70be971cc6 100644
--- a/src/core/lib/promise/detail/promise_like.h
+++ b/src/core/lib/promise/detail/promise_like.h
@@ -69,9 +69,16 @@ class PromiseLike;
template <>
class PromiseLike<void>;
+// Android local modification: Android builds grpc with C++20, which removes
+// std::result_of. Use std::invoke_result_t instead.
template <typename F>
class PromiseLike<F, absl::enable_if_t<!std::is_void<
- typename std::result_of<F()>::type>::value>> {
+#if __cplusplus >= 201703L
+ std::invoke_result_t<F>
+#else
+ typename std::result_of<F()>::type
+#endif
+ >::value>> {
private:
GPR_NO_UNIQUE_ADDRESS F f_;