mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-07 12:44:28 +08:00
Fix __setitem__(slice, ...) of various mutable sequences (#496)
Adds support of assigning iterables to slice of mutable sequences and bytes to bytearray's slice.
This commit is contained in:
committed by
Matthias Kramm
parent
c10198db11
commit
34175b888d
@@ -430,7 +430,7 @@ class bytearray(MutableSequence[int]):
|
||||
@overload
|
||||
def __setitem__(self, i: int, x: int) -> None: ...
|
||||
@overload
|
||||
def __setitem__(self, s: slice, x: Union[Sequence[int], str]) -> None: ...
|
||||
def __setitem__(self, s: slice, x: Union[Iterable[int], str]) -> None: ...
|
||||
def __setslice__(self, start: int, stop: int, x: Union[Sequence[int], str]) -> None: ...
|
||||
def __delitem__(self, i: Union[int, slice]) -> None: ...
|
||||
def __delslice__(self, start: int, stop: int) -> None: ...
|
||||
@@ -504,7 +504,7 @@ class list(MutableSequence[_T], Generic[_T]):
|
||||
@overload
|
||||
def __setitem__(self, i: int, o: _T) -> None: ...
|
||||
@overload
|
||||
def __setitem__(self, s: slice, o: Sequence[_T]) -> None: ...
|
||||
def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...
|
||||
def __setslice__(self, start: int, stop: int, o: Sequence[_T]) -> None: ...
|
||||
def __delitem__(self, i: Union[int, slice]) -> None: ...
|
||||
def __delslice(self, start: int, stop: int) -> None: ...
|
||||
|
||||
@@ -119,7 +119,7 @@ class MutableSequence(Sequence[_T], Generic[_T]):
|
||||
def __setitem__(self, i: int, o: _T) -> None: ...
|
||||
@overload
|
||||
@abstractmethod
|
||||
def __setitem__(self, s: slice, o: Sequence[_T]) -> None: ...
|
||||
def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...
|
||||
@abstractmethod
|
||||
def __delitem__(self, i: Union[int, slice]) -> None: ...
|
||||
# Mixin methods
|
||||
|
||||
@@ -401,7 +401,7 @@ class bytearray(MutableSequence[int], ByteString):
|
||||
@overload
|
||||
def __setitem__(self, i: int, x: int) -> None: ...
|
||||
@overload
|
||||
def __setitem__(self, s: slice, x: Sequence[int]) -> None: ...
|
||||
def __setitem__(self, s: slice, x: Union[Iterable[int], bytes]) -> None: ...
|
||||
def __delitem__(self, i: Union[int, slice]) -> None: ...
|
||||
def __add__(self, s: bytes) -> bytearray: ...
|
||||
def __iadd__(self, s: Iterable[int]) -> bytearray: ...
|
||||
@@ -486,7 +486,7 @@ class list(MutableSequence[_T], Generic[_T]):
|
||||
@overload
|
||||
def __setitem__(self, i: int, o: _T) -> None: ...
|
||||
@overload
|
||||
def __setitem__(self, s: slice, o: Sequence[_T]) -> None: ...
|
||||
def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...
|
||||
def __delitem__(self, i: Union[int, slice]) -> None: ...
|
||||
def __add__(self, x: List[_T]) -> List[_T]: ...
|
||||
def __iadd__(self, x: Iterable[_T]) -> List[_T]: ...
|
||||
|
||||
@@ -65,7 +65,7 @@ class deque(MutableSequence[_T], Generic[_T]):
|
||||
@overload
|
||||
def __setitem__(self, i: int, x: _T) -> None: ...
|
||||
@overload
|
||||
def __setitem__(self, s: slice, o: Sequence[_T]) -> None: raise TypeError
|
||||
def __setitem__(self, s: slice, o: Iterable[_T]) -> None: raise TypeError
|
||||
@overload
|
||||
def __delitem__(self, i: int) -> None: ...
|
||||
@overload
|
||||
|
||||
@@ -163,7 +163,7 @@ class MutableSequence(Sequence[_T], Generic[_T]):
|
||||
def __setitem__(self, i: int, o: _T) -> None: ...
|
||||
@overload
|
||||
@abstractmethod
|
||||
def __setitem__(self, s: slice, o: Sequence[_T]) -> None: ...
|
||||
def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...
|
||||
@overload
|
||||
@abstractmethod
|
||||
def __delitem__(self, i: int) -> None: ...
|
||||
|
||||
Reference in New Issue
Block a user