From: Radoslaw Zarzynski Date: Fri, 20 Sep 2019 11:32:37 +0000 (+0200) Subject: crimson: unthrowable_wrapper::handle() accepts type-taking lambda. X-Git-Tag: v15.1.0~801^2~23 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ee2eaeb2dd53204797b398dea8a69ff7ed8f5cb4;p=ceph.git crimson: unthrowable_wrapper::handle() accepts type-taking lambda. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/common/errorator.h b/src/crimson/common/errorator.h index bc5ea00653e0..0df8b8b8d533 100644 --- a/src/crimson/common/errorator.h +++ b/src/crimson/common/errorator.h @@ -65,7 +65,11 @@ struct unthrowable_wrapper : error_t> { return [ func = std::forward(func) ] (const unthrowable_wrapper&) mutable -> decltype(auto) { - return std::invoke(std::forward(func)); + if constexpr (std::is_invocable_v) { + return std::invoke(std::forward(func), ErrorV); + } else { + return std::invoke(std::forward(func)); + } }; }