From 74b6495b344303a84bf5e51ff388d8200dad4f64 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 9 Feb 2008 02:53:48 +0000 Subject: [PATCH] Merge r60679 --- Lib/_abcoll.py | 34 ++++------------------------------ 1 file changed, 4 insertions(+), 30 deletions(-) diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py index 327b223b44..113507a779 100644 --- a/Lib/_abcoll.py +++ b/Lib/_abcoll.py @@ -82,7 +82,7 @@ class Iterable(metaclass=ABCMeta): return NotImplemented -class Iterator(metaclass=ABCMeta): +class Iterator(Iterable): @abstractmethod def __next__(self): @@ -157,7 +157,7 @@ class Callable(metaclass=ABCMeta): ### SETS ### -class Set(metaclass=ABCMeta): +class Set(Sized, Iterable, Container): """A set is a finite, iterable container. @@ -169,19 +169,6 @@ class Set(metaclass=ABCMeta): then the other operations will automatically follow suit. """ - @abstractmethod - def __contains__(self, value): - return False - - @abstractmethod - def __iter__(self): - while False: - yield None - - @abstractmethod - def __len__(self): - return 0 - def __le__(self, other): if not isinstance(other, Set): return NotImplemented @@ -358,7 +345,7 @@ MutableSet.register(set) ### MAPPINGS ### -class Mapping(metaclass=ABCMeta): +class Mapping(Sized, Iterable, Container): @abstractmethod def __getitem__(self, key): @@ -378,15 +365,6 @@ class Mapping(metaclass=ABCMeta): else: return True - @abstractmethod - def __len__(self): - return 0 - - @abstractmethod - def __iter__(self): - while False: - yield None - def keys(self): return KeysView(self) @@ -523,7 +501,7 @@ MutableMapping.register(dict) ### SEQUENCES ### -class Sequence(metaclass=ABCMeta): +class Sequence(Sized, Iterable, Container): """All the operations on a read-only sequence. @@ -535,10 +513,6 @@ class Sequence(metaclass=ABCMeta): def __getitem__(self, index): raise IndexError - @abstractmethod - def __len__(self): - return 0 - def __iter__(self): i = 0 try: -- 2.40.0