You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Also for containership checks on `typing.KeysView.` This is to bring the
following cases into alignment:
from typing import KeysView
key: str | None
d: dict[str, int]
kv: KeysView[str]
if key in d:
# type of 'key' is inferred to be 'str'
...
if key in d.keys():
# type of 'key' should be inferred to be 'str'
...
if key in kv:
# type of 'key' should be inferred to be 'str'
...
Before this change only the first `if` would narrow the type of `key`.
I've just added a test under `test-data/unit/pythoneval.test` as
`test-data/unit/fixtures/dict.pyi` doesn't include `dict.keys`, and
adding it requires importing `dict_keys` from `_collections_abc` in
those stubs, which then requires adding `_collections_abc.pyi` stubs,
which would have to be complete since e.g.
`testGenericAliasCollectionsABCReveal` expects most of the types in
those stubs to be defined (this is the same approach as
7678f28).
GH: issue #13360
0 commit comments