From 003fa6ffee88521102d9609dc0166b903e946597 Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 28 Jun 2022 10:32:56 +0300 Subject: [PATCH] Remove back template lambda support in Promise. --- tdutils/td/utils/Promise.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tdutils/td/utils/Promise.h b/tdutils/td/utils/Promise.h index 7746bc0ae..8f9c5fe71 100644 --- a/tdutils/td/utils/Promise.h +++ b/tdutils/td/utils/Promise.h @@ -92,7 +92,7 @@ class LambdaPromise : public PromiseInterface { public: void set_value(ValueT &&value) override { CHECK(state_.get() == State::Ready); - func_(std::move(value)); + do_ok(std::move(value)); state_ = State::Complete; } @@ -128,6 +128,14 @@ class LambdaPromise : public PromiseInterface { std::enable_if_t>::value, void> do_error(Y &&status) { func_(Auto()); } + template + std::enable_if_t>::value, void> do_ok(ValueT &&value) { + func_(Result(std::move(value))); + } + template + std::enable_if_t>::value, void> do_ok(ValueT &&value) { + func_(std::move(value)); + } }; } // namespace detail