On 07.10.16 17:37, Guido van Rossum wrote:
On Fri, Oct 7, 2016 at 6:36 AM, Serhiy Storchaka <storch...@gmail.com> wrote:
A number of builtin iterator classes (but not all builtin iterator classes)
are registered with the Iterator ABC in Lib/_collections_abc.py.  But
isinstance(it, Iterable) check works without explicit registration, because
Iterable has __subclasshook__ that checks iterator methods.  Is there a need
in explicit registrations?  Or their can be safely removed?

The preferred apprach is actually inheritance; registration comes
next; the __subclasshook__ is a final compromise to the tradition of
duck typing. I think the registrations should stay.

Should we register missed builtin iterators? For example longrange_iterator.

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to