# test deeply recursive generators # simple "yield from" recursion def gen(): yield from gen() try: list(gen()) except RuntimeError: print("RuntimeError") # recursion via an iterator over a generator def gen2(): for x in gen2(): yield x try: next(gen2()) except RuntimeError: print("RuntimeError")