Skip to content

Commit b1b3471

Browse files
authored
Improve in-place BinOp methods for sets (#7161)
1 parent a906d54 commit b1b3471

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

stdlib/_weakrefset.pyi

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ class WeakSet(MutableSet[_T], Generic[_T]):
2020
def __contains__(self, item: object) -> bool: ...
2121
def __len__(self) -> int: ...
2222
def __iter__(self) -> Iterator[_T]: ...
23-
def __ior__(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...
23+
def __ior__(self: Self, other: Iterable[_T]) -> Self: ... # type: ignore[override,misc]
2424
def difference(self: Self, other: Iterable[_T]) -> Self: ...
25-
def __sub__(self: Self, other: Iterable[_T]) -> Self: ...
26-
def difference_update(self, other: Iterable[_T]) -> None: ...
27-
def __isub__(self: Self, other: Iterable[_T]) -> Self: ...
25+
def __sub__(self: Self, other: Iterable[Any]) -> Self: ...
26+
def difference_update(self, other: Iterable[Any]) -> None: ...
27+
def __isub__(self: Self, other: Iterable[Any]) -> Self: ...
2828
def intersection(self: Self, other: Iterable[_T]) -> Self: ...
29-
def __and__(self: Self, other: Iterable[_T]) -> Self: ...
30-
def intersection_update(self, other: Iterable[_T]) -> None: ...
31-
def __iand__(self: Self, other: Iterable[_T]) -> Self: ...
29+
def __and__(self: Self, other: Iterable[Any]) -> Self: ...
30+
def intersection_update(self, other: Iterable[Any]) -> None: ...
31+
def __iand__(self: Self, other: Iterable[Any]) -> Self: ...
3232
def issubset(self, other: Iterable[_T]) -> bool: ...
3333
def __le__(self, other: Iterable[_T]) -> bool: ...
3434
def __lt__(self, other: Iterable[_T]) -> bool: ...
@@ -38,8 +38,8 @@ class WeakSet(MutableSet[_T], Generic[_T]):
3838
def __eq__(self, other: object) -> bool: ...
3939
def symmetric_difference(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...
4040
def __xor__(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...
41-
def symmetric_difference_update(self, other: Iterable[Any]) -> None: ...
42-
def __ixor__(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...
41+
def symmetric_difference_update(self, other: Iterable[_T]) -> None: ...
42+
def __ixor__(self: Self, other: Iterable[_T]) -> Self: ... # type: ignore[override,misc]
4343
def union(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...
4444
def __or__(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...
4545
def isdisjoint(self, other: Iterable[_T]) -> bool: ...

stdlib/builtins.pyi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -923,13 +923,13 @@ class set(MutableSet[_T], Generic[_T]):
923923
def __contains__(self, __o: object) -> bool: ...
924924
def __iter__(self) -> Iterator[_T]: ...
925925
def __and__(self, __s: AbstractSet[object]) -> set[_T]: ...
926-
def __iand__(self, __s: AbstractSet[object]) -> set[_T]: ...
926+
def __iand__(self: Self, __s: AbstractSet[object]) -> Self: ...
927927
def __or__(self, __s: AbstractSet[_S]) -> set[_T | _S]: ...
928-
def __ior__(self, __s: AbstractSet[_S]) -> set[_T | _S]: ...
928+
def __ior__(self: Self, __s: AbstractSet[_T]) -> Self: ... # type: ignore[override,misc]
929929
def __sub__(self, __s: AbstractSet[_T | None]) -> set[_T]: ...
930-
def __isub__(self, __s: AbstractSet[_T | None]) -> set[_T]: ...
930+
def __isub__(self: Self, __s: AbstractSet[object]) -> Self: ...
931931
def __xor__(self, __s: AbstractSet[_S]) -> set[_T | _S]: ...
932-
def __ixor__(self, __s: AbstractSet[_S]) -> set[_T | _S]: ...
932+
def __ixor__(self: Self, __s: AbstractSet[_T]) -> Self: ... # type: ignore[override,misc]
933933
def __le__(self, __s: AbstractSet[object]) -> bool: ...
934934
def __lt__(self, __s: AbstractSet[object]) -> bool: ...
935935
def __ge__(self, __s: AbstractSet[object]) -> bool: ...

stdlib/typing.pyi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -391,10 +391,10 @@ class MutableSet(AbstractSet[_T], Generic[_T]):
391391
def clear(self) -> None: ...
392392
def pop(self) -> _T: ...
393393
def remove(self, value: _T) -> None: ...
394-
def __ior__(self, s: AbstractSet[_S]) -> MutableSet[_T | _S]: ...
395-
def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...
396-
def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[_T | _S]: ...
397-
def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...
394+
def __ior__(self: Self, s: AbstractSet[_T]) -> Self: ... # type: ignore[override,misc]
395+
def __iand__(self: Self, s: AbstractSet[Any]) -> Self: ...
396+
def __ixor__(self: Self, s: AbstractSet[_T]) -> Self: ... # type: ignore[override,misc]
397+
def __isub__(self: Self, s: AbstractSet[Any]) -> Self: ...
398398

399399
class MappingView(Sized):
400400
def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented

0 commit comments

Comments
 (0)