From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 31 Jul 2023 17:16:00 +0000 (-0700) Subject: [3.12] GH-101291: Add warning to "what's new" that `PyLongObject` internals have... X-Git-Tag: v3.12.0rc1~18 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5f7862dc1f0ba7e47fc01acb7f7a2e0f68176924;p=thirdparty%2FPython%2Fcpython.git [3.12] GH-101291: Add warning to "what's new" that `PyLongObject` internals have changed. (GH-107388) (#107392) (cherry picked from commit 1ee605c5888fbc3d51b3e7610bac38ea6bc25e31) Co-authored-by: Mark Shannon --- diff --git a/Doc/whatsnew/3.12.rst b/Doc/whatsnew/3.12.rst index 2ec25eb25ecb..fe912e8422e9 100644 --- a/Doc/whatsnew/3.12.rst +++ b/Doc/whatsnew/3.12.rst @@ -1867,6 +1867,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 ----------