summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS.d/next/C API
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-06-01 22:24:55 (GMT)
committerGitHub <noreply@github.com>2023-06-01 22:24:55 (GMT)
commitc38ceb032d59d6c8f2006ab9a347d7e207f9f84e (patch)
treea75d62f7309df274b9608acf59edfba201c129c4 /Misc/NEWS.d/next/C API
parent83c7386cee59d8dfe9fa8f5db80ab4afeb3a7b8a (diff)
downloadcpython-c38ceb032d59d6c8f2006ab9a347d7e207f9f84e.zip
cpython-c38ceb032d59d6c8f2006ab9a347d7e207f9f84e.tar.gz
cpython-c38ceb032d59d6c8f2006ab9a347d7e207f9f84e.tar.bz2
[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
Diffstat (limited to 'Misc/NEWS.d/next/C API')
-rw-r--r--Misc/NEWS.d/next/C API/2023-05-30-17-45-32.gh-issue-105115.iRho1K.rst3
1 files changed, 3 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/C API/2023-05-30-17-45-32.gh-issue-105115.iRho1K.rst b/Misc/NEWS.d/next/C API/2023-05-30-17-45-32.gh-issue-105115.iRho1K.rst
new file mode 100644
index 0000000..595cc0e
--- /dev/null
+++ b/Misc/NEWS.d/next/C API/2023-05-30-17-45-32.gh-issue-105115.iRho1K.rst
@@ -0,0 +1,3 @@
+``PyTypeObject.tp_bases`` (and ``tp_mro``) for builtin static types are now
+shared by all interpreters, whereas in 3.12-beta1 they were stored on
+``PyInterpreterState``. Also note that now the tuples are immortal objects.