diff options
-rw-r--r-- | Misc/NEWS | 8 | ||||
-rw-r--r-- | Objects/abstract.c | 4 |
2 files changed, 11 insertions, 1 deletions
@@ -89,6 +89,10 @@ Core and builtins Extension modules ----------------- +- operator.isNumberType() now checks that the object has a nb_int or + nb_float slot, rather than simply checking whether it has a non-NULL + tp_as_number pointer. + - The imp module now has ways to acquire and release the "import lock": imp.acquire_lock() and imp.release_lock(). Note: this is a reentrant lock, so releasing the lock only truly releases it when @@ -318,6 +322,10 @@ Build C API ----- +- PyNumber_Check() now checks that the object has a nb_int or nb_float + slot, rather than simply checking whether it has a non-NULL + tp_as_number pointer. + - A C type that inherits from a base type that defines tp_as_buffer will now inherit the tp_as_buffer pointer if it doesn't define one. (SF #681367) diff --git a/Objects/abstract.c b/Objects/abstract.c index c18d5e7..b4fbd32 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -308,7 +308,9 @@ int PyObject_AsWriteBuffer(PyObject *obj, int PyNumber_Check(PyObject *o) { - return o && o->ob_type->tp_as_number; + return o && o->ob_type->tp_as_number && + (o->ob_type->tp_as_number->nb_int || + o->ob_type->tp_as_number->nb_float); } /* Binary operators */ |