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

@@ -13,8 +13,10 @@ class _SupportsTimeTuple(Protocol):
def timetuple(self) -> time.struct_time: ...
_DateTimeComparable = DateTime | datetime | str | _SupportsTimeTuple
_Marshallable = Union[None, bool, int, float, str, bytes, tuple[Any, ...], list[Any], dict[Any, Any], datetime, DateTime, Binary]
_XMLDate = Union[int, datetime, tuple[int, ...], time.struct_time]
_Marshallable = (
bool | int | float | str | bytes | None | tuple[Any, ...] | list[Any] | dict[Any, Any] | datetime | DateTime | Binary
)
_XMLDate = int | datetime | tuple[int, ...] | time.struct_time
_HostType = Union[tuple[str, dict[str, str]], str]
def escape(s: str) -> str: ... # undocumented