]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-100315: clarification to `__slots__` docs. (GH-102621)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 14 Mar 2023 09:32:09 +0000 (02:32 -0700)
committerGitHub <noreply@github.com>
Tue, 14 Mar 2023 09:32:09 +0000 (02:32 -0700)
refer to tp_itemsize in discussion on "variable-length" built-in types
(cherry picked from commit 88c262c086077377b40dfae5e46f597e28ffe3c9)

Co-authored-by: T <tnie@tuta.io>
Doc/reference/datamodel.rst

index e94b535901c5e45af8c942669db583f6a56a26e5..87c538f6f2c17fb5a2eceb00e4ad775132c05c2e 100644 (file)
@@ -1944,8 +1944,10 @@ Notes on using *__slots__*
   descriptor directly from the base class). This renders the meaning of the
   program undefined.  In the future, a check may be added to prevent this.
 
-* Nonempty *__slots__* does not work for classes derived from "variable-length"
-  built-in types such as :class:`int`, :class:`bytes` and :class:`tuple`.
+* :exc:`TypeError` will be raised if nonempty *__slots__* are defined for a
+  class derived from a
+  :c:member:`"variable-length" built-in type <PyTypeObject.tp_itemsize>` such as
+  :class:`int`, :class:`bytes`, and :class:`tuple`.
 
 * Any non-string :term:`iterable` may be assigned to *__slots__*.