From 11ae98389d763b9b36dd1c5dc7b4cdd335e2ee72 Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk <21087696+oleksandr-pavlyk@users.noreply.github.com> Date: Mon, 21 Jul 2025 11:44:25 -0500 Subject: [PATCH] Replace use of py::object copy constructor with use of move constructor Change explicit constructor of benchmark_wrapper_t to use move-constructor of py::object instead of copy constructor by replacing `py::object(o)` with `py::object(std::move(o))`. --- python/src/py_nvbench.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/src/py_nvbench.cpp b/python/src/py_nvbench.cpp index d25e6c7..18ca05d 100644 --- a/python/src/py_nvbench.cpp +++ b/python/src/py_nvbench.cpp @@ -76,7 +76,7 @@ struct benchmark_wrapper_t benchmark_wrapper_t() = default; explicit benchmark_wrapper_t(py::object o) - : m_fn{std::shared_ptr(new py::object(o), PyObjectDeleter{})} + : m_fn{std::shared_ptr(new py::object(std::move(o)), PyObjectDeleter{})} { if (!PyCallable_Check(m_fn->ptr())) {