]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-90562: Mention slots pitfall in dataclass docs (GH-107391) (#119351)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 23 May 2024 06:16:23 +0000 (08:16 +0200)
committerGitHub <noreply@github.com>
Thu, 23 May 2024 06:16:23 +0000 (00:16 -0600)
Co-authored-by: Josh Cannon <joshdcannon@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Erlend E. Aasland <erlend@python.org>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Doc/library/dataclasses.rst

index 71fbd1996e7381559f78e15c299412233ce659d6..455019d2206f95b0e03c982712038e523e5132db 100644 (file)
@@ -185,7 +185,10 @@ Module contents
    - *slots*: If true (the default is ``False``), :attr:`~object.__slots__` attribute
      will be generated and new class will be returned instead of the original one.
      If :attr:`!__slots__` is already defined in the class, then :exc:`TypeError`
-     is raised.
+     is raised. Calling no-arg :func:`super` in dataclasses using ``slots=True`` will result in
+     the following exception being raised:
+     ``TypeError: super(type, obj): obj must be an instance or subtype of type``.
+     The two-arg :func:`super` is a valid workaround. See :gh:`90562` for full details.
 
     .. versionadded:: 3.10