From f803a7eca6d6e5038212b95d9c2f0065b8486024 Mon Sep 17 00:00:00 2001 From: ykiko Date: Tue, 2 Jul 2024 23:14:44 +0800 Subject: [PATCH] some fix. --- include/pybind11/internal/kernel.h | 4 ++-- include/pybind11/internal/types.h | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/include/pybind11/internal/kernel.h b/include/pybind11/internal/kernel.h index 55d33f45..c23471b6 100644 --- a/include/pybind11/internal/kernel.h +++ b/include/pybind11/internal/kernel.h @@ -10,7 +10,7 @@ struct capsule { void* ptr; void (*destructor)(void*); - template + template , capsule>)>> capsule(T&& value) : ptr(new auto(std::forward(value))), destructor([](void* ptr) { delete static_cast*>(ptr); @@ -26,7 +26,7 @@ struct capsule { } ~capsule() { - if(ptr != nullptr && destructor != nullptr) destructor(ptr); + if(ptr && destructor) destructor(ptr); } }; } // namespace pybind11::impl diff --git a/include/pybind11/internal/types.h b/include/pybind11/internal/types.h index d2997b34..78628853 100644 --- a/include/pybind11/internal/types.h +++ b/include/pybind11/internal/types.h @@ -365,9 +365,6 @@ class capsule : public object { PYBIND11_TYPE_IMPLEMENT(object, impl::capsule, handle(vm->builtins->attr("capsule"))._as()); public: - template - capsule(T&& value) : object(create(std::forward(value))) {} - capsule(void* ptr, void (*destructor)(void*) = nullptr) : object(create(ptr, destructor)) {} void* data() const { return self().ptr; }