diff --git a/src/vm.h b/src/vm.h index fa072df9..964f056e 100644 --- a/src/vm.h +++ b/src/vm.h @@ -784,10 +784,9 @@ public: PyVar _tp_user_pointer, _tp_super; template - inline PyVarRef PyRef(P value) { - // TODO: use perfect forwarding + inline PyVarRef PyRef(P&& value) { static_assert(std::is_base_of::value, "P should derive from BaseRef"); - return newObject(_tp_ref, value); + return newObject(_tp_ref, std::forward

(value)); } inline const BaseRef* PyRef_AS_C(const PyVar& obj)