Merge branch 'pybind:master' into master

This commit is contained in:
Steve R. Sun 2022-10-13 10:01:02 +08:00 committed by GitHub
commit bca73e3520
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1382,7 +1382,7 @@ public:
private:
void advance() {
value = reinterpret_steal<object>(PyIter_Next(m_ptr));
if (PyErr_Occurred()) {
if (value.ptr() == nullptr && PyErr_Occurred()) {
throw error_already_set();
}
}
@ -1809,16 +1809,16 @@ public:
explicit capsule(const void *value,
const char *name = nullptr,
void (*destructor)(PyObject *) = nullptr)
PyCapsule_Destructor destructor = nullptr)
: object(PyCapsule_New(const_cast<void *>(value), name, destructor), stolen_t{}) {
if (!m_ptr) {
throw error_already_set();
}
}
PYBIND11_DEPRECATED("Please pass a destructor that takes a void pointer as input")
capsule(const void *value, void (*destruct)(PyObject *))
: object(PyCapsule_New(const_cast<void *>(value), nullptr, destruct), stolen_t{}) {
PYBIND11_DEPRECATED("Please use the ctor with value, name, destructor args")
capsule(const void *value, PyCapsule_Destructor destructor)
: object(PyCapsule_New(const_cast<void *>(value), nullptr, destructor), stolen_t{}) {
if (!m_ptr) {
throw error_already_set();
}