From 4dd85b347fd8264453811e0873e0dffa333d9838 Mon Sep 17 00:00:00 2001 From: Sergey B Kirpichev Date: Mon, 4 Aug 2025 16:30:29 +0300 Subject: [PATCH] gh-137368: document __index__() support for PyLong_AsInt32/64() (GH-137369) --- Doc/c-api/long.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Doc/c-api/long.rst b/Doc/c-api/long.rst index 2d0bda76697..31e2cd57034 100644 --- a/Doc/c-api/long.rst +++ b/Doc/c-api/long.rst @@ -372,6 +372,10 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. Set *\*value* to a signed C :c:expr:`int32_t` or :c:expr:`int64_t` representation of *obj*. + If *obj* is not an instance of :c:type:`PyLongObject`, first call its + :meth:`~object.__index__` method (if present) to convert it to a + :c:type:`PyLongObject`. + If the *obj* value is out of range, raise an :exc:`OverflowError`. Set *\*value* and return ``0`` on success.