From caddb8f497dd28309cd2e9ec57679bf6047706af Mon Sep 17 00:00:00 2001 From: cmoineau <cyril.moineau@cea.fr> Date: Mon, 11 Mar 2024 15:03:55 +0000 Subject: [PATCH] Fix registrar if exists condition for pybind. --- include/aidge/utils/Registrar.hpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/include/aidge/utils/Registrar.hpp b/include/aidge/utils/Registrar.hpp index a5bd260ec..567270d63 100644 --- a/include/aidge/utils/Registrar.hpp +++ b/include/aidge/utils/Registrar.hpp @@ -132,11 +132,13 @@ void declare_registrable(py::module& m, const std::string& class_name){ #ifdef PYBIND #define SET_IMPL_MACRO(T_Op, op, backend_name) \ \ - if(Py_IsInitialized()) { \ - auto obj = py::cast(&(op)); \ - (op).setImpl(Registrar<T_Op>::create(backend_name)(op)); \ - } else { \ - (op).setImpl(Registrar<T_Op>::create(backend_name)(op)); \ + if (Registrar<T_Op>::exists(backend_name)) { \ + if(Py_IsInitialized()) { \ + auto obj = py::cast(&(op)); \ + (op).setImpl(Registrar<T_Op>::create(backend_name)(op)); \ + } else { \ + (op).setImpl(Registrar<T_Op>::create(backend_name)(op)); \ + } \ } #else #define SET_IMPL_MACRO(T_Op, op, backend_name) \ -- GitLab