]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.12] gh-105020: Share tp_bases and tp_mro Between Interpreters For All Static Built...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 1 Jun 2023 22:24:55 +0000 (15:24 -0700)
committerGitHub <noreply@github.com>
Thu, 1 Jun 2023 22:24:55 +0000 (22:24 +0000)
commitc38ceb032d59d6c8f2006ab9a347d7e207f9f84e
treea75d62f7309df274b9608acf59edfba201c129c4
parent83c7386cee59d8dfe9fa8f5db80ab4afeb3a7b8a
[3.12] gh-105020: Share tp_bases and tp_mro Between Interpreters For All Static Builtin Types (gh-105115) (gh-105124)

In gh-103912 we added tp_bases and tp_mro to each PyInterpreterState.types.builtins entry.  However, doing so ignored the fact that both PyTypeObject fields are public API, and not documented as internal (as opposed to tp_subclasses).  We address that here by reverting back to shared objects, making them immortal in the process.
(cherry picked from commit 7be667d)

Co-authored-by: Eric Snow ericsnowcurrently@gmail.com
Doc/data/python3.12.abi
Include/internal/pycore_object.h
Include/internal/pycore_typeobject.h
Lib/test/test_capi/test_misc.py
Misc/NEWS.d/next/C API/2023-05-30-17-45-32.gh-issue-105115.iRho1K.rst [new file with mode: 0644]
Modules/_testcapimodule.c
Objects/typeobject.c