bpo-40170: Add _PyIndex_Check() internal function (GH-19426)
Add _PyIndex_Check() function to the internal C API: fast inlined
verson of PyIndex_Check().
Add Include/internal/pycore_abstract.h header file.
Replace PyIndex_Check() with _PyIndex_Check() in C files of Objects
and Python subdirectories.
diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c
index 5bd178b..4bea8d7 100644
--- a/Objects/rangeobject.c
+++ b/Objects/rangeobject.c
@@ -1,8 +1,9 @@
/* Range object implementation */
#include "Python.h"
-#include "structmember.h"
+#include "pycore_abstract.h" // _PyIndex_Check()
#include "pycore_tupleobject.h"
+#include "structmember.h"
/* Support objects whose length is > PY_SSIZE_T_MAX.
@@ -631,7 +632,7 @@
static PyObject *
range_subscript(rangeobject* self, PyObject* item)
{
- if (PyIndex_Check(item)) {
+ if (_PyIndex_Check(item)) {
PyObject *i, *result;
i = PyNumber_Index(item);
if (!i)