| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
This isn't actually a reversion. This logic was asymmetrical for reasons lost to time. Although I suspect it was this way because it introduced only a few errors on typeshed. What changed was that as a result of python#12203 we actually started checking a lot more dunder methods. Previously, we only checked dunders if either: a) it was a special dunder, like __init__ or __call, or b) the dunder was defined on the actual stub class itself In particular, we started checking every dunder redefined at runtime that the stub just inherited from object. A possible intermediate option would be to not check positional-only arguments in the case where a stub inherits the definition. I'll experiment with that once typeshed CI is green.
|
According to mypy_primer, this change has no effect on the checked open source code. 🤖🎉 |
Sorry, something went wrong.
| # These two are basically useless for type checkers | ||
| "__hash__", | ||
| "__getattr__", # resulting behaviour might be typed explicitly | ||
| "__setattr__", # defining this on a class can cause worse type checking |
There was a problem hiding this comment.
Hmm, this one seems to be rare enough that I think I'd prefer to consider each case separately and allowlist them in typeshed. I can't think of an example where including it in the stub would improve type checking, but you never know?
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
This isn't actually a reversion. This logic was asymmetrical for reasons
lost to time. Although I suspect it was this way because the delta
only a few errors on typeshed.
What changed was that as a result of #12203 we actually started checking
a lot more dunder methods. Previously, we only checked dunders if either:
a) it was a special dunder, like __init__ or __call__, or
b) the dunder was defined on the actual stub class itself
In particular, we started checking every dunder redefined at runtime
that the stub just inherited from object.
A possible intermediate option would be to not check positional-only
arguments in the case where a stub inherits the definition. I'll
experiment with that once typeshed CI is green.