diff options
author | Victor Stinner <vstinner@python.org> | 2020-04-08 00:26:41 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-08 00:26:41 (GMT) |
commit | 307b9d0144e719b016a47fcc43397c070615e01e (patch) | |
tree | 0158f91ba20b35a0c927a65c045c49ff7eeb0387 | |
parent | a15e260b708a98edaba86a2aa663c3f6b2abc964 (diff) | |
download | cpython-307b9d0144e719b016a47fcc43397c070615e01e.zip cpython-307b9d0144e719b016a47fcc43397c070615e01e.tar.gz cpython-307b9d0144e719b016a47fcc43397c070615e01e.tar.bz2 |
bpo-40170: Remove PyIndex_Check() macro (GH-19428)
Always declare PyIndex_Check() as an opaque function to hide
implementation details: remove PyIndex_Check() macro. The macro
accessed directly the PyTypeObject.tp_as_number member.
-rw-r--r-- | Include/cpython/abstract.h | 6 | ||||
-rw-r--r-- | Misc/NEWS.d/next/C API/2020-04-04-23-51-59.bpo-40170.uXQ701.rst | 3 | ||||
-rw-r--r-- | Objects/abstract.c | 2 |
3 files changed, 3 insertions, 8 deletions
diff --git a/Include/cpython/abstract.h b/Include/cpython/abstract.h index 3f834ff..7bc8083 100644 --- a/Include/cpython/abstract.h +++ b/Include/cpython/abstract.h @@ -335,12 +335,6 @@ PyAPI_FUNC(void) PyBuffer_Release(Py_buffer *view); (Py_TYPE(obj)->tp_iternext != NULL && \ Py_TYPE(obj)->tp_iternext != &_PyObject_NextNotImplemented) -/* === Number Protocol ================================================== */ - -#define PyIndex_Check(obj) \ - (Py_TYPE(obj)->tp_as_number != NULL && \ - Py_TYPE(obj)->tp_as_number->nb_index != NULL) - /* === Sequence protocol ================================================ */ /* Assume tp_as_sequence and sq_item exist and that 'i' does not diff --git a/Misc/NEWS.d/next/C API/2020-04-04-23-51-59.bpo-40170.uXQ701.rst b/Misc/NEWS.d/next/C API/2020-04-04-23-51-59.bpo-40170.uXQ701.rst new file mode 100644 index 0000000..22bdc74 --- /dev/null +++ b/Misc/NEWS.d/next/C API/2020-04-04-23-51-59.bpo-40170.uXQ701.rst @@ -0,0 +1,3 @@ +Always declare :c:func:`PyIndex_Check` as an opaque function to hide +implementation details: remove ``PyIndex_Check()`` macro. The macro accessed +directly the :c:member:`PyTypeObject.tp_as_number` member. diff --git a/Objects/abstract.c b/Objects/abstract.c index b5d91db..7e1e51b 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -1309,8 +1309,6 @@ PyNumber_Absolute(PyObject *o) } -#undef PyIndex_Check - int PyIndex_Check(PyObject *obj) { |