| """ | |
| _PyType_Lookup() returns a borrowed reference. | |
| This attacks the call in dictobject.c. | |
| """ | |
| class A(object): | |
| pass | |
| class B(object): | |
| def __del__(self): | |
| print 'hi' | |
| del D.__missing__ | |
| class D(dict): | |
| class __missing__: | |
| def __init__(self, *args): | |
| pass | |
| d = D() | |
| a = A() | |
| a.cycle = a | |
| a.other = B() | |
| del a | |
| prev = None | |
| while 1: | |
| d[5] | |
| prev = (prev,) |