diff options
author | Eric Snow <ericsnowcurrently@gmail.com> | 2022-07-29 01:23:47 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-29 01:23:47 (GMT) |
commit | 3e7cad3bca64ab213c66e2bd41c9d1cf1d057526 (patch) | |
tree | def84e7995f73122d158470f8f178d38726a981c /Doc/c-api | |
parent | 6e44bf9558dbcaffd78b7c4fc7f6b474388b4a9a (diff) | |
download | cpython-3e7cad3bca64ab213c66e2bd41c9d1cf1d057526.zip cpython-3e7cad3bca64ab213c66e2bd41c9d1cf1d057526.tar.gz cpython-3e7cad3bca64ab213c66e2bd41c9d1cf1d057526.tar.bz2 |
gh-94673: Add Per-Interpreter tp_weaklist for Static Builtin Types (#95302)
* Store tp_weaklist on the interpreter state for static builtin types.
* Factor out _PyStaticType_GET_WEAKREFS_LISTPTR().
* Add _PyStaticType_ClearWeakRefs().
* Add a comment about how _PyStaticType_ClearWeakRefs() loops.
* Document the change.
* Update Doc/whatsnew/3.12.rst
* Fix a typo.
Diffstat (limited to 'Doc/c-api')
-rw-r--r-- | Doc/c-api/typeobj.rst | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index a331e9c..7514801 100644 --- a/Doc/c-api/typeobj.rst +++ b/Doc/c-api/typeobj.rst @@ -1942,6 +1942,13 @@ and :c:type:`PyType_Type` effectively act as defaults.) Weak reference list head, for weak references to this type object. Not inherited. Internal use only. + .. versionchanged:: 3.12 + + Internals detail: For the static builtin types this is always ``NULL``, + even if weakrefs are added. Instead, the weakrefs for each are stored + on ``PyInterpreterState``. Use the public C-API or the internal + ``_PyObject_GET_WEAKREFS_LISTPTR()`` macro to avoid the distinction. + **Inheritance:** This field is not inherited. |