[Python-Dev] PEP 479: Change StopIteration handling inside generators (original) (raw)

Benjamin Peterson benjamin at python.org
Wed Nov 19 21:15:27 CET 2014


On Wed, Nov 19, 2014, at 15:10, Guido van Rossum wrote:

There's a new PEP proposing to change how to treat StopIteration bubbling up out of a generator frame (not caused by a return from the frame). The proposal is to replace such a StopIteration with a RuntimeError (chained to the original StopIteration), so that only returning from a generator (or falling off the end) causes the iteration to terminate.

The proposal unifies the behavior of list comprehensions and generator expressions along the lines I had originally in mind when they were introduced. It renders useless/illegal certain hacks that have crept into some folks' arsenal of obfuscated Python tools. In Python 3.5 the proposed change is conditional on: from future import replacestopiterationingenerators

Drive-by comment: This seems like a terribly awkward name. Could a shorter and sweeter name not be found?



More information about the Python-Dev mailing list