From e6f0464651ff52f3f4243352b4382625076bdc8c Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 2 Mar 2022 00:06:07 +0800 Subject: [PATCH] crimson/common/interruptible_future: ensure seastar::AllAreFutures<> is happy if compiled with C++20, C++ concept is enabled. to ensure the constraints required by when_all_impl() is fulfilled, we need to specialize is_tuple_of_futures<> for interruptible_future. Signed-off-by: Kefu Chai --- src/crimson/common/interruptible_future.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/crimson/common/interruptible_future.h b/src/crimson/common/interruptible_future.h index f5b73a35cf654..d7f09b6dfa086 100644 --- a/src/crimson/common/interruptible_future.h +++ b/src/crimson/common/interruptible_future.h @@ -64,6 +64,18 @@ namespace seastar::internal { {}; } +SEASTAR_CONCEPT( +namespace crimson::interruptible { + template + class interruptible_future_detail; +} +namespace seastar::impl { + template + struct is_tuple_of_futures, Rest...>> + : is_tuple_of_futures> {}; +} +) + namespace crimson::interruptible { struct ready_future_marker {}; -- 2.39.5