def __init__(self, t1, t2):
self.t1 = t1
self.t2 = t2
def __call__(self, object):
tm1 = TMerge(3, lambda x: x + 2)
tm2 = TMerge(lambda x: x + 5, 6)
x = 1
Make a breakpoint on the "tm1" line, step through. Notice that tm1 is shown with a single instance variable (t1), and tm2 is shown with a single instance variable (t2). The debugger seems to be confused because of the __call__ method, and refuses to show the instance variable with the lambda value.
I just spent an hour wondering what I was doing wrong!