diff --git a/include/seastar/core/sharded.hh b/include/seastar/core/sharded.hh index 53713ea50ff..36a58811abc 100644 --- a/include/seastar/core/sharded.hh +++ b/include/seastar/core/sharded.hh @@ -780,7 +780,7 @@ sharded::invoke_on_others(smp_submit_to_options options, Func func, Arg static_assert(std::is_same_v>, future<>>, "invoke_on_others()'s func must return void or future<>"); try { - return invoke_on_all(options, [orig = this_shard_id(), func = std::move(func), args = std::tuple(std::move(args)...)] (Service& s) -> future<> { + return invoke_on_all(options, [orig = this_shard_id(), func = std::move(func), args = std::tuple(std::move(args)...)] (Service& s) mutable -> future<> { return this_shard_id() == orig ? make_ready_future<>() : futurize_apply(func, std::tuple_cat(std::forward_as_tuple(s), args));; }); } catch (...) {