1 # cython: language_level=3
3 def list_comp_in_closure():
5 >>> list_comp_in_closure()
11 result = [x*2 for x in range(5) if x % 2 == 0]
12 assert x == 'abc' # don't leak in Py3 code
13 assert f() == 'abc' # don't leak in Py3 code
16 def genexpr_in_closure():
18 >>> genexpr_in_closure()
24 result = list( x*2 for x in range(5) if x % 2 == 0 )
25 assert x == 'abc' # don't leak in Py3 code
26 assert f() == 'abc' # don't leak in Py3 code
29 def genexpr_scope_in_closure():
31 >>> genexpr_scope_in_closure()
38 result = list( x*i for x in range(5) if x % 2 == 0 )
39 assert x == 'abc' # don't leak in Py3 code
40 assert f() == (2,'abc') # don't leak in Py3 code