From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 6 Oct 2021 18:52:48 +0000 (-0700) Subject: [doc] Mention __slots__ behavior in weakref.rst (GH-21061) (GH-28773) X-Git-Tag: v3.9.8~93 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f161e65a011f287227c944fad9987446644041f;p=thirdparty%2FPython%2Fcpython.git [doc] Mention __slots__ behavior in weakref.rst (GH-21061) (GH-28773) It took me longer than I expected to figure out why a random class I dealt with didn't support weak references. I believe this addition will make the __slots__/weakref interaction more discoverable to people having troubles with this. (Before this patch __slots__ was not mentioned in weakref documentation even once). Co-authored-by: Ɓukasz Langa (cherry picked from commit b24b47e64355224c1bf4e46ed7c4d9f7df4e6f09) Co-authored-by: Jakub Stasiak --- diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst index b88543e44537..4b0945c020f8 100644 --- a/Doc/library/weakref.rst +++ b/Doc/library/weakref.rst @@ -88,6 +88,10 @@ support weak references but can add support through subclassing:: Extension types can easily be made to support weak references; see :ref:`weakref-support`. +When ``__slots__`` are defined for a given type, weak reference support is +disabled unless a ``'__weakref__'`` string is also present in the sequence of +strings in the ``__slots__`` declaration. +See :ref:`__slots__ documentation ` for details. .. class:: ref(object[, callback])