Vincent van Beveren wrote:
I was working with weak references in Python, and noticed that it
> was impossible to create a weak-reference of bound methods.
> is there anything I can do about it? You can create your own wrapper that keeps a weak reference to the underlying object. Here's an example. import weakref class weakmethod(object): def __init__(self, bm): self.ref = weakref.ref(bm.im_self) self.func = bm.im_func def __call__(self, *args, **kwds): obj = self.ref() if obj is None: raise ValueError("Calling dead weak method") self.func(obj, *args, **kwds) if __name__ == "__main__": class A(object): def foo(self): print "foo method called on", self a = A() m = weakmethod(a.foo) m() del a m() -- http://mail.python.org/mailman/listinfo/python-list