Nir Friedman <quick...@gmail.com> added the comment:

Wouldn't a nicer resolution for this be to change `iter` (which effectively 
defines what is "iterable"), so that if `iter` does not find the `__iter__` or 
sequence protocol, it then looks for the iterator protocol (`__next__`), and if 
it finds that, return the argument?

In that way, all iterators would automatically get the sane implementation of 
`__iter__` by default, and we could say that in the "runtime", all iterators 
are iterable, matching the types. And people wouldn't need to implement 
`__iter__` any more on their iterators i.e. the recommendation could simply be 
dropped).

----------
nosy: +quicknir

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue45250>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to