From: Mark Shannon Date: Fri, 28 Jul 2023 16:07:33 +0000 (+0100) Subject: GH-101291: Add warning to "what's new" that `PyLongObject` internals have changed... X-Git-Tag: v3.13.0a1~1154 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1ee605c5888fbc3d51b3e7610bac38ea6bc25e31;p=thirdparty%2FPython%2Fcpython.git GH-101291: Add warning to "what's new" that `PyLongObject` internals have changed. (GH-107388) --- diff --git a/Doc/whatsnew/3.12.rst b/Doc/whatsnew/3.12.rst index 68e5b0691f00..99500e1f3214 100644 --- a/Doc/whatsnew/3.12.rst +++ b/Doc/whatsnew/3.12.rst @@ -1865,6 +1865,17 @@ Porting to Python 3.12 subinterpreter that they don't support (or haven't yet been loaded in). See :gh:`104668` for more info. +* :c:struct:`PyLongObject` has had its internals changed for better performance. + Although the internals of :c:struct:`PyLongObject` are private, they are used + by some extension modules. + The internal fields should no longer be accessed directly, instead the API + functions beginning ``PyLong_...`` should be used instead. + Two new *unstable* API functions are provided for efficient access to the + value of :c:struct:`PyLongObject`\s which fit into a single machine word: + + * :c:func:`PyUnstable_Long_IsCompact` + * :c:func:`PyUnstable_Long_CompactValue` + Deprecated ----------