Merged revisions 86857 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86857 | raymond.hettinger | 2010-11-28 22:56:12 -0500 (Sun, 28 Nov 2010) | 1 line

  Issue #10565:  Iterator ABC should require both __next__ and __iter__.
........
diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py
index cac06e0..0957553 100644
--- a/Lib/_abcoll.py
+++ b/Lib/_abcoll.py
@@ -90,7 +90,8 @@
     @classmethod
     def __subclasshook__(cls, C):
         if cls is Iterator:
-            if any("__next__" in B.__dict__ for B in C.__mro__):
+            if (any("__next__" in B.__dict__ for B in C.__mro__) and
+                any("__iter__" in B.__dict__ for B in C.__mro__)):
                 return True
         return NotImplemented