New submission from Nick Coghlan <ncogh...@gmail.com>:
This is a simpler proposal born out of https://bugs.python.org/issue31815: adding __length_hint__ implementations to some known-infinite iterators in itertools that always raise TypeError. This means that iterator consumers that use the operator.length_hint() API will throw an error when asked to consume them, rather than entering an uninterruptible infinite loop. The proposed methods added by this proposal would be: * itertools.count.__length_hint__ * itertools.cycle.__length_hint__ * itertools.repeat.__length_hint__ Each of these would raise TypeError (to indicate an explicitly non-finite length), rather than returning the default of 0 (which length hint API consumers typically interpret as indicating an unknown-but-finite length) ---------- messages: 320229 nosy: ncoghlan, rhettinger priority: normal severity: normal stage: needs patch status: open title: Raise TypeError in __length_hint__ for consistently infinite iterators type: enhancement versions: Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue33939> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com