From 22f0721a3900845fbb69addf67eeeecb32dfd462 Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Mon, 18 Aug 2014 10:55:43 +0300 Subject: [PATCH] Implement missing promise<> move assignment --- reactor.hh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/reactor.hh b/reactor.hh index f9d2ffbc00..59711def46 100644 --- a/reactor.hh +++ b/reactor.hh @@ -236,7 +236,12 @@ public: } } } - promise& operator=(promise&&); + promise& operator=(promise&& x) { + this->~promise(); + _state = x._state; + x._state = nullptr; + return *this; + } void operator=(const promise&) = delete; future get_future(); void set_value(const T& result) { _state->set(result); } @@ -258,7 +263,12 @@ public: } } } - promise& operator=(promise&&); + promise& operator=(promise&& x) { + this->~promise(); + _state = x._state; + x._state = nullptr; + return *this; + } void operator=(const promise&) = delete; future get_future(); void set_value() { _state->set(); }