From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 11 Sep 2025 09:14:03 +0000 (+0200) Subject: [3.14] gh-137368: document __index__() support for PyLong_AsInt32/64() (GH-137369... X-Git-Tag: v3.14.0rc3~51 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7f5319dd545b836090496a1f2b9f13667a3cd4e5;p=thirdparty%2FPython%2Fcpython.git [3.14] gh-137368: document __index__() support for PyLong_AsInt32/64() (GH-137369) (#137380) gh-137368: document __index__() support for PyLong_AsInt32/64() (GH-137369) (cherry picked from commit 4dd85b347fd8264453811e0873e0dffa333d9838) Co-authored-by: Sergey B Kirpichev --- diff --git a/Doc/c-api/long.rst b/Doc/c-api/long.rst index 2d0bda76697e..31e2cd570344 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.