-
-
Notifications
You must be signed in to change notification settings - Fork 349
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to mypy 1.15 #3201
Update to mypy 1.15 #3201
Conversation
In python/typeshed#13372, the type of the stdlib's `socket.getaddrinfo` was updated to add a union member for cases where Python was compiled with `--disable-ipv6`. This causes custom resolvers that use the stdlib function to fail mypy This is probably going to (mypy) break everyone's custom `HostnameResolver`, since the parent type is changing
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3201 +/- ##
================================================
Coverage 100.00000% 100.00000%
================================================
Files 124 124
Lines 18792 18917 +125
Branches 1268 1295 +27
================================================
+ Hits 18792 18917 +125
|
I guess this PR should be more generally "update to mypy 1.15"... And major typing changes are fine, type hints are optional/not at runtime anyways. |
OK, I'll take a look at the other typing changes needed for 1.15 as well |
looks like we need to replace a lot of |
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.
I actually just was looking at doing this and thinking through what I would prefer, but I actually prefer the choices you made here (e.g. pushing up the CoroutineType
change rather than littering code with assert isinstance(task.coro, CoroutineType)
)
A couple comments, but most are very nitpicky so feel free to ignore.
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.
Superb!
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.
Not sure if any @_public
users have overloads, but if so:
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.
unclear if we should even bother keeping the async_generator
stuff at all - see python-trio/async_generator#35
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.
The changes here make sense to me!
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.
Looks good other than a few things I had questions about
In python/typeshed#13372, the type of the stdlib's
socket.getaddrinfo
was updated to add a union member for cases where Python was compiled with--disable-ipv6
. This causes custom resolvers that use the stdlib function to fail mypyThis is probably going to (mypy) break everyone's custom
HostnameResolver
, since the parent type is changing