Broaden type for set.union (#6249)

`set[int].union(set[str])` is well defined: it returns a set of `int | str`.
This commit is contained in:
Jelle Zijlstra
2021-11-05 13:27:45 -07:00
committed by GitHub
parent e7b4b73102
commit 6d318e729f

View File

@@ -868,7 +868,7 @@ class set(MutableSet[_T], Generic[_T]):
def remove(self, __element: _T) -> None: ...
def symmetric_difference(self, __s: Iterable[_T]) -> Set[_T]: ...
def symmetric_difference_update(self, __s: Iterable[_T]) -> None: ...
def union(self, *s: Iterable[_T]) -> Set[_T]: ...
def union(self, *s: Iterable[_S]) -> Set[_T | _S]: ...
def update(self, *s: Iterable[_T]) -> None: ...
def __len__(self) -> int: ...
def __contains__(self, __o: object) -> bool: ...
@@ -899,7 +899,7 @@ class frozenset(AbstractSet[_T_co], Generic[_T_co]):
def issubset(self, __s: Iterable[object]) -> bool: ...
def issuperset(self, __s: Iterable[object]) -> bool: ...
def symmetric_difference(self, __s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...
def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...
def union(self, *s: Iterable[_S]) -> FrozenSet[_T_co | _S]: ...
def __len__(self) -> int: ...
def __contains__(self, __o: object) -> bool: ...
def __iter__(self) -> Iterator[_T_co]: ...