Break a cycle created in the saboteur() function.

This commit is contained in:
Vladimir Marangozov 2000-07-15 00:42:09 +00:00
parent a44923fbfe
commit 5ff2ac2fa9
1 changed files with 5 additions and 2 deletions

View File

@ -85,10 +85,13 @@ assert d == d2, "function call modified dictionary"
# what about willful misconduct?
def saboteur(**kw):
kw['x'] = locals()
kw['x'] = locals() # yields a cyclic kw
return kw
d = {}
saboteur(a=1, **d)
kw = saboteur(a=1, **d)
assert d == {}
# break the cycle
del kw['x']
try:
g(1, 2, 3, **{'x':4, 'y':5})