From 5a132172ddb564f07aa7073c246b3d29f2807a34 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 23 Jan 2020 15:38:11 +0800 Subject: [PATCH] crimson/common/errorator: construct future<> with a future_state_base this change is made to adapt https://github.com/scylladb/seastar/commit/89e801b373423b068b3a70e50b656348f549ade0 * always use the helpers from `futurize` instead of using `::seastar::make_exception_future()` directly. as `make_exception_future(future_state_base&& state)` is located in `seastar::internal` namespace * add `noexcept` specifier in both constructors. to match with the helpers of `make_exception_future2()` which dispatch the call to different constructor variants. Signed-off-by: Kefu Chai --- src/crimson/common/errorator.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/crimson/common/errorator.h b/src/crimson/common/errorator.h index 064daaffa4a4..f26b65847c4e 100644 --- a/src/crimson/common/errorator.h +++ b/src/crimson/common/errorator.h @@ -388,8 +388,12 @@ private: : base_t(::seastar::make_ready_future(std::forward(a)...)) { } [[gnu::always_inline]] - _future(exception_future_marker, std::exception_ptr&& ep) - : base_t(::seastar::make_exception_future(std::move(ep))) { + _future(exception_future_marker, ::seastar::future_state_base&& state) noexcept + : base_t(::seastar::futurize::make_exception_future(std::move(state))) { + } + [[gnu::always_inline]] + _future(exception_future_marker, std::exception_ptr&& ep) noexcept + : base_t(::seastar::futurize::make_exception_future(std::move(ep))) { } template