Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions stdlib/builtins.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -1456,31 +1456,31 @@ class set(MutableSet[_T]):
def __and__(self, value: AbstractSet[object], /) -> set[_T]: ...
def __iand__(self, value: AbstractSet[object], /) -> Self: ...

@overload
@overload # type: ignore[override]
def __rand__(self, value: set[_S], /) -> set[_S]: ...
@overload
def __rand__(self, value: frozenset[_S], /) -> frozenset[_S]: ...

def __or__(self, value: AbstractSet[_S], /) -> set[_T | _S]: ...
def __ior__(self, value: AbstractSet[_T], /) -> Self: ... # type: ignore[override,misc]

@overload
@overload # type: ignore[override]
def __ror__(self, value: set[_S], /) -> set[_T | _S]: ...
@overload
def __ror__(self, value: frozenset[_S], /) -> frozenset[_T | _S]: ...

def __sub__(self, value: AbstractSet[object], /) -> set[_T]: ...
def __isub__(self, value: AbstractSet[object], /) -> Self: ...

@overload
@overload # type: ignore[override]
def __rsub__(self, value: set[_S], /) -> set[_S]: ...
@overload
def __rsub__(self, value: frozenset[_S], /) -> frozenset[_S]: ...

def __xor__(self, value: AbstractSet[_S], /) -> set[_T | _S]: ...
def __ixor__(self, value: AbstractSet[_T], /) -> Self: ... # type: ignore[override,misc]

@overload
@overload # type: ignore[override]
def __rxor__(self, value: set[_S], /) -> set[_T | _S]: ...
@overload
def __rxor__(self, value: frozenset[_S], /) -> frozenset[_T | _S]: ...
Expand Down Expand Up @@ -1513,28 +1513,28 @@ class frozenset(AbstractSet[_T_co]):
def __iter__(self) -> Iterator[_T_co]: ...
def __and__(self, value: AbstractSet[object], /) -> frozenset[_T_co]: ...

@overload
@overload # type: ignore[override]
def __rand__(self, value: set[_S], /) -> set[_S]: ...
@overload
def __rand__(self, value: frozenset[_S], /) -> frozenset[_S]: ...

def __or__(self, value: AbstractSet[_S], /) -> frozenset[_T_co | _S]: ...

@overload
@overload # type: ignore[override]
def __ror__(self, value: set[_S], /) -> set[_T_co | _S]: ...
@overload
def __ror__(self, value: frozenset[_S], /) -> frozenset[_T_co | _S]: ...

def __sub__(self, value: AbstractSet[object], /) -> frozenset[_T_co]: ...

@overload
@overload # type: ignore[override]
def __rsub__(self, value: set[_S], /) -> set[_S]: ...
@overload
def __rsub__(self, value: frozenset[_S], /) -> frozenset[_S]: ...

def __xor__(self, value: AbstractSet[_S], /) -> frozenset[_T_co | _S]: ...

@overload
@overload # type: ignore[override]
def __rxor__(self, value: set[_S], /) -> set[_T_co | _S]: ...
@overload
def __rxor__(self, value: frozenset[_S], /) -> frozenset[_T_co | _S]: ...
Expand Down
25 changes: 21 additions & 4 deletions stdlib/multiprocessing/managers.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -192,10 +192,27 @@ if sys.version_info >= (3, 14):
def __ge__(self, value: AbstractSet[object], /) -> bool: ...
def __gt__(self, value: AbstractSet[object], /) -> bool: ...
def __eq__(self, value: object, /) -> bool: ...
def __rand__(self, value: AbstractSet[object], /) -> set[_T]: ...
def __ror__(self, value: AbstractSet[_S], /) -> set[_T | _S]: ... # type: ignore[misc]
def __rsub__(self, value: AbstractSet[_T], /) -> set[_T]: ...
def __rxor__(self, value: AbstractSet[_S], /) -> set[_T | _S]: ... # type: ignore[misc]

@overload # type: ignore[override]
def __rand__(self, value: set[_S], /) -> set[_S]: ...
@overload
def __rand__(self, value: frozenset[_S], /) -> frozenset[_S]: ...

@overload # type: ignore[override]
def __ror__(self, value: set[_S], /) -> set[_T | _S]: ...
@overload
def __ror__(self, value: frozenset[_S], /) -> frozenset[_T | _S]: ...

@overload # type: ignore[override]
def __rsub__(self, value: set[_S], /) -> set[_S]: ...
@overload
def __rsub__(self, value: frozenset[_S], /) -> frozenset[_S]: ...

@overload # type: ignore[override]
def __rxor__(self, value: set[_S], /) -> set[_T | _S]: ...
@overload
def __rxor__(self, value: frozenset[_S], /) -> frozenset[_T | _S]: ...

def __class_getitem__(cls, item: Any, /) -> GenericAlias: ...

class SetProxy(_BaseSetProxy[_T]): ...
Expand Down
4 changes: 4 additions & 0 deletions stdlib/typing.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -741,9 +741,13 @@ class AbstractSet(Collection[_T_co]):
def __gt__(self, other: AbstractSet[Any], /) -> bool: ...
def __ge__(self, other: AbstractSet[Any], /) -> bool: ...
def __and__(self, other: AbstractSet[Any], /) -> AbstractSet[_T_co]: ...
def __rand__(self, other: AbstractSet[_T], /) -> AbstractSet[_T]: ...
def __or__(self, other: AbstractSet[_T], /) -> AbstractSet[_T_co | _T]: ...
def __ror__(self, other: AbstractSet[_T], /) -> AbstractSet[_T_co | _T]: ...
def __sub__(self, other: AbstractSet[Any], /) -> AbstractSet[_T_co]: ...
def __rsub__(self, other: AbstractSet[_T], /) -> AbstractSet[_T]: ...
def __xor__(self, other: AbstractSet[_T], /) -> AbstractSet[_T_co | _T]: ...
def __rxor__(self, other: AbstractSet[_T], /) -> AbstractSet[_T_co | _T]: ...
def __eq__(self, other: object, /) -> bool: ...
def isdisjoint(self, other: Iterable[Any], /) -> bool: ...

Expand Down
2 changes: 1 addition & 1 deletion stubs/boltons/boltons/setutils.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class IndexedSet(MutableSet[Any]):
# __sub__ = difference
# __xor__ = symmetric_difference
__rxor__ = symmetric_difference
def __rsub__(self, other: _RSub[_T_co]) -> _RSub[_T_co]: ...
def __rsub__(self, other: _RSub[_T_co]) -> _RSub[_T_co]: ... # type: ignore[override]
def update(self, *others: Iterable[Any]) -> None: ...
def intersection_update(self, *others: Iterable[Any]) -> None: ...
def difference_update(self, *others: Container[Any]) -> None: ...
Expand Down
Loading