PEP 604: Remove some more uses of Union/Optional (#7515)

The following patterns still break mypy:

1. `type[]` at top level fails
2. `tuple[T1, T2]` at top level fails (but `tuple[T1, ...]` is fine)
3. `T1 | Callable[..., T2 | T3]` fails, but only <=3.9

This PR cleans up usage of `Union` and `Optional` outside these patterns.
This commit is contained in:
Jelle Zijlstra
2022-03-19 08:23:00 -07:00
committed by GitHub
parent 1acc8f3bd6
commit b7d129f727
7 changed files with 24 additions and 23 deletions

View File

@@ -1,4 +1,4 @@
from typing import Callable, Mapping, Optional, Sequence
from typing import Callable, Mapping, Sequence
from typing_extensions import Final
paFloat32: Final[int]
@@ -70,7 +70,7 @@ paMacCoreStreamInfo: PaMacCoreStreamInfo
_ChannelMap = Sequence[int]
_PaHostApiInfo = Mapping[str, str | int]
_PaDeviceInfo = Mapping[str, str | int | float]
_StreamCallback = Callable[[Optional[bytes], int, Mapping[str, float], int], tuple[Optional[bytes], int]]
_StreamCallback = Callable[[bytes | None, int, Mapping[str, float], int], tuple[bytes | None, int]]
def get_format_from_width(width: int, unsigned: bool = ...) -> int: ...
def get_portaudio_version() -> int: ...

View File

@@ -1,5 +1,5 @@
from _typeshed import Self, SupportsItems
from typing import IO, Any, Callable, Iterable, Mapping, MutableMapping, Optional, Text, TypeVar, Union
from typing import IO, Any, Callable, Iterable, Mapping, MutableMapping, Text, TypeVar, Union
from urllib3 import _collections
@@ -47,7 +47,7 @@ class SessionRedirectMixin:
def rebuild_proxies(self, prepared_request, proxies): ...
def should_strip_auth(self, old_url, new_url): ...
_Data = Union[None, Text, bytes, Mapping[str, Any], Mapping[Text, Any], Iterable[tuple[Text, Optional[Text]]], IO[Any]]
_Data = Text | bytes | Mapping[str, Any] | Mapping[Text, Any] | Iterable[tuple[Text, Text | None]] | IO[Any] | None
_Hook = Callable[[Response], Any]
_Hooks = MutableMapping[Text, _Hook | list[_Hook]]