SF [#463737] Add types.CallableIterType
Rather than add umpteen new obscure internal Iter types, got rid of all of
them. See the new comment.
diff --git a/Lib/types.py b/Lib/types.py
index 9419405..1bb560c 100644
--- a/Lib/types.py
+++ b/Lib/types.py
@@ -6,6 +6,11 @@
import sys
+# Iterators in Python aren't a matter of type but of protocol. A large
+# and changing number of builtin types implement *some* flavor of
+# iterator. Don't check the type! Use hasattr to check for both
+# "__iter__" and "next" attributes instead.
+
NoneType = type(None)
TypeType = type
ObjectType = object
@@ -76,9 +81,6 @@
SliceType = type(slice(0))
EllipsisType = type(Ellipsis)
-DictIterType = type(iter({}))
-SequenceIterType = type(iter([]))
-FunctionIterType = type(iter(lambda: 0, 0))
DictProxyType = type(TypeType.__dict__)
del sys, _f, _C, _x # Not for export