https://github.com/python/cpython/commit/44855458a423569eaea3df53fd5a0c0032da932d
commit: 44855458a423569eaea3df53fd5a0c0032da932d
branch: main
author: Petr Viktorin <[email protected]>
committer: encukou <[email protected]>
date: 2026-03-09T14:32:28+01:00
summary:
Document that PyType_GetModule returns a borrowed ref (GH-145612)
files:
M Doc/c-api/type.rst
M Doc/data/refcounts.dat
diff --git a/Doc/c-api/type.rst b/Doc/c-api/type.rst
index 8cadf26cee3027..c9bb5c3f09ac18 100644
--- a/Doc/c-api/type.rst
+++ b/Doc/c-api/type.rst
@@ -274,6 +274,10 @@ Type Objects
Return the module object associated with the given type when the type was
created using :c:func:`PyType_FromModuleAndSpec`.
+ The returned reference is :term:`borrowed <borrowed reference>` from *type*,
+ and will be valid as long as you hold a reference to *type*.
+ Do not release it with :c:func:`Py_DECREF` or similar.
+
If no module is associated with the given type, sets :py:class:`TypeError`
and returns ``NULL``.
diff --git a/Doc/data/refcounts.dat b/Doc/data/refcounts.dat
index 64399f6ab1ff26..01b064f3e617ff 100644
--- a/Doc/data/refcounts.dat
+++ b/Doc/data/refcounts.dat
@@ -2427,6 +2427,9 @@ PyType_GetFlags:PyTypeObject*:type:0:
PyType_GetName:PyObject*::+1:
PyType_GetName:PyTypeObject*:type:0:
+PyType_GetModule:PyObject*::0:
+PyType_GetModule:PyTypeObject*:type:0:
+
PyType_GetModuleByToken:PyObject*::+1:
PyType_GetModuleByToken:PyTypeObject*:type:0:
PyType_GetModuleByToken:PyModuleDef*:def::
_______________________________________________
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]