Merge pull request #32 from gnprice/sequence

Sequence: match 2 to 3 in typing, remove redundant base classes in builtins
This commit is contained in:
Matthias Kramm
2015-12-22 05:50:56 -08:00
3 changed files with 10 additions and 6 deletions

View File

@@ -464,7 +464,7 @@ class function:
__name__ = ... # type: str
__module__ = ... # type: str
class list(MutableSequence[_T], Reversible[_T], Generic[_T]):
class list(MutableSequence[_T], Generic[_T]):
@overload
def __init__(self) -> None: ...
@overload

View File

@@ -438,7 +438,7 @@ class function:
__module__ = ... # type: str
__code__ = ... # type: Any
class list(MutableSequence[_T], Reversible[_T], Generic[_T]):
class list(MutableSequence[_T], Generic[_T]):
@overload
def __init__(self) -> None: ...
@overload
@@ -578,7 +578,7 @@ class enumerate(Iterator[Tuple[int, _T]], Generic[_T]):
def __next__(self) -> Tuple[int, _T]: ...
# TODO __getattribute__
class range(Sequence[int], Reversible[int]):
class range(Sequence[int]):
@overload
def __init__(self, stop: int) -> None: ...
@overload

View File

@@ -78,19 +78,23 @@ class Iterator(Iterable[_T_co], Generic[_T_co]):
@abstractmethod
def next(self) -> _T_co: ...
class Sequence(Sized, Iterable[_T_co], Generic[_T_co]):
class Container(Generic[_T_co]):
@abstractmethod
def __contains__(self, x: object) -> bool: ...
class Sequence(Iterable[_T_co], Container[_T_co], Sized, Reversible[_T_co], Generic[_T_co]):
@overload
@abstractmethod
def __getitem__(self, i: int) -> _T_co: ...
@overload
@abstractmethod
def __getitem__(self, s: slice) -> Sequence[_T_co]: ...
@abstractmethod
# Mixin methods
def index(self, x: Any) -> int: ...
@abstractmethod
def count(self, x: Any) -> int: ...
def __contains__(self, x: object) -> bool: ...
def __iter__(self) -> Iterator[_T_co]: ...
def __reversed__(self) -> Iterator[_T_co]: ...
class MutableSequence(Sequence[_T], Generic[_T]):
@abstractmethod