mirror of https://github.com/python/cpython
Add test to verify that nested functions with free variables don't
cause the free variables to leak.
This commit is contained in:
parent
30c9f3991c
commit
5b44a67bdb
|
@ -14,3 +14,4 @@ test_scope
|
|||
13. UnboundLocal
|
||||
14. complex definitions
|
||||
15. scope of global statements
|
||||
16. check leaks
|
||||
|
|
|
@ -383,3 +383,26 @@ def f():
|
|||
return g()
|
||||
verify(f() == 2)
|
||||
verify(x == 2)
|
||||
|
||||
print "16. check leaks"
|
||||
|
||||
class Foo:
|
||||
count = 0
|
||||
|
||||
def __init__(self):
|
||||
Foo.count += 1
|
||||
|
||||
def __del__(self):
|
||||
Foo.count -= 1
|
||||
|
||||
def f1():
|
||||
x = Foo()
|
||||
def f2():
|
||||
return x
|
||||
f2()
|
||||
|
||||
for i in range(100):
|
||||
f1()
|
||||
|
||||
verify(Foo.count == 0)
|
||||
|
||||
|
|
Loading…
Reference in New Issue