Move result into coro_handler.
diff --git a/asio/include/asio/impl/spawn.hpp b/asio/include/asio/impl/spawn.hpp
index 89d614b..dbde057 100644
--- a/asio/include/asio/impl/spawn.hpp
+++ b/asio/include/asio/impl/spawn.hpp
@@ -49,14 +49,14 @@
     void operator()(T value)
     {
       *ec_ = asio::error_code();
-      *value_ = value;
+      *value_ = ASIO_MOVE_CAST(T)(value);
       (*coro_)();
     }
 
     void operator()(asio::error_code ec, T value)
     {
       *ec_ = ec;
-      *value_ = value;
+      *value_ = ASIO_MOVE_CAST(T)(value);
       (*coro_)();
     }