https://github.com/python/cpython/commit/c9930f5022f5e7a290896522280e47a1fecba38a
commit: c9930f5022f5e7a290896522280e47a1fecba38a
branch: main
author: Peter Bierma <[email protected]>
committer: JelleZijlstra <[email protected]>
date: 2024-08-28T18:27:40-07:00
summary:
gh-123448: Move `_PyNoDefault_Type` to the static types array (#123449)
files:
A Misc/NEWS.d/next/Library/2024-08-28-20-08-19.gh-issue-123448.tItJlp.rst
M Modules/_typingmodule.c
M Objects/object.c
diff --git
a/Misc/NEWS.d/next/Library/2024-08-28-20-08-19.gh-issue-123448.tItJlp.rst
b/Misc/NEWS.d/next/Library/2024-08-28-20-08-19.gh-issue-123448.tItJlp.rst
new file mode 100644
index 00000000000000..a57c133d43545f
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2024-08-28-20-08-19.gh-issue-123448.tItJlp.rst
@@ -0,0 +1,2 @@
+Fixed memory leak of :class:`typing.NoDefault` by moving it to the static types
+array.
diff --git a/Modules/_typingmodule.c b/Modules/_typingmodule.c
index 37af00f3071e1d..09fbb3c5e8b91d 100644
--- a/Modules/_typingmodule.c
+++ b/Modules/_typingmodule.c
@@ -63,9 +63,6 @@ _typing_exec(PyObject *m)
if (PyModule_AddObjectRef(m, "TypeAliasType", (PyObject
*)&_PyTypeAlias_Type) < 0) {
return -1;
}
- if (PyType_Ready(&_PyNoDefault_Type) < 0) {
- return -1;
- }
if (PyModule_AddObjectRef(m, "NoDefault", (PyObject
*)&_Py_NoDefaultStruct) < 0) {
return -1;
}
diff --git a/Objects/object.c b/Objects/object.c
index 97403227625971..4b8b6c29266812 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -2347,6 +2347,7 @@ static PyTypeObject* static_types[] = {
&_PyWeakref_ProxyType,
&_PyWeakref_RefType,
&_PyTypeAlias_Type,
+ &_PyNoDefault_Type,
// subclasses: _PyTypes_FiniTypes() deallocates them before their base
// class
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]