You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
465 B
30 lines
465 B
"""
|
|
categories: Core,Generator
|
|
description: Context manager __exit__() not called in a generator which does not run to completion
|
|
cause: Unknown
|
|
workaround: Unknown
|
|
"""
|
|
|
|
|
|
class foo(object):
|
|
def __enter__(self):
|
|
print("Enter")
|
|
|
|
def __exit__(self, *args):
|
|
print("Exit")
|
|
|
|
|
|
def bar(x):
|
|
with foo():
|
|
while True:
|
|
x += 1
|
|
yield x
|
|
|
|
|
|
def func():
|
|
g = bar(0)
|
|
for _ in range(3):
|
|
print(next(g))
|
|
|
|
|
|
func()
|
|
|