summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2020-05-28 07:33:45 (GMT)
committerGitHub <noreply@github.com>2020-05-28 07:33:45 (GMT)
commit5f4b229df7812f1788287095eb6b138bb21876a4 (patch)
treef00cef402d0467010a34e9e617d89ccebebe6d1a /Include
parenteaca2aa117d663acf8160a0b4543ee2c7006fcc7 (diff)
downloadcpython-5f4b229df7812f1788287095eb6b138bb21876a4.zip
cpython-5f4b229df7812f1788287095eb6b138bb21876a4.tar.gz
cpython-5f4b229df7812f1788287095eb6b138bb21876a4.tar.bz2
bpo-40792: Make the result of PyNumber_Index() always having exact type int. (GH-20443)
Previously, the result could have been an instance of a subclass of int. Also revert bpo-26202 and make attributes start, stop and step of the range object having exact type int. Add private function _PyNumber_Index() which preserves the old behavior of PyNumber_Index() for performance to use it in the conversion functions like PyLong_AsLong().
Diffstat (limited to 'Include')
-rw-r--r--Include/cpython/abstract.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/Include/cpython/abstract.h b/Include/cpython/abstract.h
index 7bc8083..aa72f99 100644
--- a/Include/cpython/abstract.h
+++ b/Include/cpython/abstract.h
@@ -379,6 +379,9 @@ PyAPI_FUNC(void) _Py_add_one_to_index_C(int nd, Py_ssize_t *index,
/* Convert Python int to Py_ssize_t. Do nothing if the argument is None. */
PyAPI_FUNC(int) _Py_convert_optional_to_ssize_t(PyObject *, void *);
+/* Same as PyNumber_Index but can return an instance of a subclass of int. */
+PyAPI_FUNC(PyObject *) _PyNumber_Index(PyObject *o);
+
#ifdef __cplusplus
}
#endif