kernel/object: Remove unnecessary std::move from DynamicObjectCast()

boost::static_pointer_cast for boost::intrusive_ptr (what SharedPtr is),
takes its parameter by const reference. Given that, it means that this
std::move doesn't actually do anything other than obscure what the
function's actual behavior is, so we can remove this. To clarify, this
would only do something if the parameter was either taking its argument
by value, by non-const ref, or by rvalue-reference.
master
Lioncash 2018-09-28 02:10:22 +07:00
parent 29ff84ea99
commit f4c24d0832
2 changed files with 2 additions and 3 deletions

@ -6,7 +6,6 @@
#include <atomic> #include <atomic>
#include <string> #include <string>
#include <utility>
#include <boost/smart_ptr/intrusive_ptr.hpp> #include <boost/smart_ptr/intrusive_ptr.hpp>
@ -97,7 +96,7 @@ using SharedPtr = boost::intrusive_ptr<T>;
template <typename T> template <typename T>
inline SharedPtr<T> DynamicObjectCast(SharedPtr<Object> object) { inline SharedPtr<T> DynamicObjectCast(SharedPtr<Object> object) {
if (object != nullptr && object->GetHandleType() == T::HANDLE_TYPE) { if (object != nullptr && object->GetHandleType() == T::HANDLE_TYPE) {
return boost::static_pointer_cast<T>(std::move(object)); return boost::static_pointer_cast<T>(object);
} }
return nullptr; return nullptr;
} }

@ -69,7 +69,7 @@ private:
template <> template <>
inline SharedPtr<WaitObject> DynamicObjectCast<WaitObject>(SharedPtr<Object> object) { inline SharedPtr<WaitObject> DynamicObjectCast<WaitObject>(SharedPtr<Object> object) {
if (object != nullptr && object->IsWaitable()) { if (object != nullptr && object->IsWaitable()) {
return boost::static_pointer_cast<WaitObject>(std::move(object)); return boost::static_pointer_cast<WaitObject>(object);
} }
return nullptr; return nullptr;
} }