Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32.4k
gh-90562: Mention slots pitfall in dataclass docs#107391
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
I can't say I've seen something like this documented before. I'd like to get some more opinions on it. |
Yeah. If the exception was more clear, maybe it wouldn't be warranted. But it took me longer than I want to admit to put two-and-two together. And then, because I'm super nosy I was able to find the linked issue. So I feel for the little guy who has to piece it all together. (Speaking of, I should edit to suggest the workaround, the "old-style" super call) |
Doc/library/dataclasses.rst Outdated
is raised. Calling no-arg ``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 ``super()`` is a valid workaround. See :issue:`46404` for full details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
We should try to capture everything relevant in the documentation -- what is relevant to the reader from the linked issue that isn't captured in your summary?
A
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Ithink these two points are it. What to look for and how to workaround.
I feel like early in my CPython contribution I remember someone saying "we don't document bugs, we fix them." But I'm also sympathetic to the point of view that this is a significant limitation that people are likely to hit and with an extremely confusing symptom, and there's no clear fix for it on the horizon, and it would be kinder to our users to surface it in the docs. So while it bugs me slightly, on the whole I think I'm in favor of this. I'll leave the final say to our documentation experts (and@ericvsmith as dataclasses expert.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
This seems sensible to me. It took me a while to find out what was going on when I encountered this issue.
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(This now has a merge conflict.) |
Uh oh!
There was an error while loading.Please reload this page.
Thanks@thejcannon for the PR, and@hugovk for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13. |
)(cherry picked from commite3ed574)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>
)(cherry picked from commite3ed574)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>
GH-119350 is a backport of this pull request to the3.13 branch. |
GH-119351 is a backport of this pull request to the3.12 branch. |
Huzzah! 🎉 |
…119350)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>
…119351)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>
e-gebes commentedJun 19, 2024
Could you backport this also to the 3.10 docs? I ran into the issue, and since I need to use 3.10 atm I read the 3.10 docs. |
Sorry, 3.10 and 3.11 are only allowed to have security fixes:https://devguide.python.org/versions/ |
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>
Uh oh!
There was an error while loading.Please reload this page.
Doesn't fix the issue, but does call it out so developers know that the issue doesn't lie with them (per-se) and gives them more info on where to go.
Will need to be backported to 3.10 and 3.11.
📚 Documentation preview 📚:https://cpython-previews--107391.org.readthedocs.build/