circuitpython/tests/basics/gen_yield_from_executing.py
Damien George 400273a799 py/objgenerator: Protect against reentering a generator.
Generators that are already executing cannot be reexecuted.  This patch
puts in a check for such a case.

Thanks to @jepler for finding the bug.
2018-05-22 16:54:03 +10:00

16 lines
253 B
Python

# yielding from an already executing generator is not allowed
def f():
yield 1
# g here is already executing so this will raise an exception
yield from g
g = f()
print(next(g))
try:
next(g)
except ValueError:
print('ValueError')