Skip to content

Commit 6a4044f

Browse files
Make frozenset covariant (#3808)
The convariance was lost in #1057
1 parent 8b28b49 commit 6a4044f

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

stdlib/2/__builtin__.pyi

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,24 +1049,24 @@ class set(MutableSet[_T], Generic[_T]):
10491049
def __gt__(self, s: AbstractSet[object]) -> bool: ...
10501050
__hash__: None # type: ignore
10511051

1052-
class frozenset(AbstractSet[_T], Generic[_T]):
1053-
def __init__(self, iterable: Iterable[_T] = ...) -> None: ...
1054-
def copy(self) -> FrozenSet[_T]: ...
1055-
def difference(self, *s: Iterable[object]) -> FrozenSet[_T]: ...
1056-
def intersection(self, *s: Iterable[object]) -> FrozenSet[_T]: ...
1057-
def isdisjoint(self, s: Iterable[_T]) -> bool: ...
1052+
class frozenset(AbstractSet[_T_co], Generic[_T_co]):
1053+
def __init__(self, iterable: Iterable[_T_co] = ...) -> None: ...
1054+
def copy(self) -> FrozenSet[_T_co]: ...
1055+
def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...
1056+
def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...
1057+
def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...
10581058
def issubset(self, s: Iterable[object]) -> bool: ...
10591059
def issuperset(self, s: Iterable[object]) -> bool: ...
1060-
def symmetric_difference(self, s: Iterable[_T]) -> FrozenSet[_T]: ...
1061-
def union(self, *s: Iterable[_T]) -> FrozenSet[_T]: ...
1060+
def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...
1061+
def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...
10621062
def __len__(self) -> int: ...
10631063
def __contains__(self, o: object) -> bool: ...
1064-
def __iter__(self) -> Iterator[_T]: ...
1064+
def __iter__(self) -> Iterator[_T_co]: ...
10651065
def __str__(self) -> str: ...
1066-
def __and__(self, s: AbstractSet[_T]) -> FrozenSet[_T]: ...
1067-
def __or__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T, _S]]: ...
1068-
def __sub__(self, s: AbstractSet[_T]) -> FrozenSet[_T]: ...
1069-
def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T, _S]]: ...
1066+
def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...
1067+
def __or__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T_co, _S]]: ...
1068+
def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...
1069+
def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T_co, _S]]: ...
10701070
def __le__(self, s: AbstractSet[object]) -> bool: ...
10711071
def __lt__(self, s: AbstractSet[object]) -> bool: ...
10721072
def __ge__(self, s: AbstractSet[object]) -> bool: ...

stdlib/2and3/builtins.pyi

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,24 +1049,24 @@ class set(MutableSet[_T], Generic[_T]):
10491049
def __gt__(self, s: AbstractSet[object]) -> bool: ...
10501050
__hash__: None # type: ignore
10511051

1052-
class frozenset(AbstractSet[_T], Generic[_T]):
1053-
def __init__(self, iterable: Iterable[_T] = ...) -> None: ...
1054-
def copy(self) -> FrozenSet[_T]: ...
1055-
def difference(self, *s: Iterable[object]) -> FrozenSet[_T]: ...
1056-
def intersection(self, *s: Iterable[object]) -> FrozenSet[_T]: ...
1057-
def isdisjoint(self, s: Iterable[_T]) -> bool: ...
1052+
class frozenset(AbstractSet[_T_co], Generic[_T_co]):
1053+
def __init__(self, iterable: Iterable[_T_co] = ...) -> None: ...
1054+
def copy(self) -> FrozenSet[_T_co]: ...
1055+
def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...
1056+
def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...
1057+
def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...
10581058
def issubset(self, s: Iterable[object]) -> bool: ...
10591059
def issuperset(self, s: Iterable[object]) -> bool: ...
1060-
def symmetric_difference(self, s: Iterable[_T]) -> FrozenSet[_T]: ...
1061-
def union(self, *s: Iterable[_T]) -> FrozenSet[_T]: ...
1060+
def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...
1061+
def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...
10621062
def __len__(self) -> int: ...
10631063
def __contains__(self, o: object) -> bool: ...
1064-
def __iter__(self) -> Iterator[_T]: ...
1064+
def __iter__(self) -> Iterator[_T_co]: ...
10651065
def __str__(self) -> str: ...
1066-
def __and__(self, s: AbstractSet[_T]) -> FrozenSet[_T]: ...
1067-
def __or__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T, _S]]: ...
1068-
def __sub__(self, s: AbstractSet[_T]) -> FrozenSet[_T]: ...
1069-
def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T, _S]]: ...
1066+
def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...
1067+
def __or__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T_co, _S]]: ...
1068+
def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...
1069+
def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[Union[_T_co, _S]]: ...
10701070
def __le__(self, s: AbstractSet[object]) -> bool: ...
10711071
def __lt__(self, s: AbstractSet[object]) -> bool: ...
10721072
def __ge__(self, s: AbstractSet[object]) -> bool: ...

0 commit comments

Comments
 (0)