slices of MutableSequences are also MutableSequences (#2428)

This commit is contained in:
Michael R. Crusoe
2018-09-25 23:06:59 +03:00
committed by Jelle Zijlstra
parent ea2122741f
commit 2e0af18dda
5 changed files with 22 additions and 6 deletions

View File

@@ -86,7 +86,7 @@ class UserList(MutableSequence[_T]):
@overload
def __getitem__(self, i: int) -> _T: ...
@overload
def __getitem__(self, i: slice) -> Sequence[_T]: ...
def __getitem__(self, i: slice) -> MutableSequence[_T]: ...
@overload
def __setitem__(self, i: int, o: _T) -> None: ...
@overload
@@ -217,7 +217,7 @@ class deque(MutableSequence[_T], Generic[_T]):
@overload
def __getitem__(self, index: int) -> _T: ...
@overload
def __getitem__(self, s: slice) -> Sequence[_T]:
def __getitem__(self, s: slice) -> MutableSequence[_T]:
raise TypeError
@overload
def __setitem__(self, i: int, x: _T) -> None: ...

View File

@@ -254,6 +254,12 @@ class MutableSequence(Sequence[_T], Generic[_T]):
def insert(self, index: int, object: _T) -> None: ...
@overload
@abstractmethod
def __getitem__(self, i: int) -> _T: ...
@overload
@abstractmethod
def __getitem__(self, s: slice) -> MutableSequence[_T]: ...
@overload
@abstractmethod
def __setitem__(self, i: int, o: _T) -> None: ...
@overload
@abstractmethod