Sundance <sundance <at> ierne.eu.org> writes: > This class behaves like weakref.ref, only for callables.
We use a variant of this idea in our app for observable callbacks: class bound_ref(object): def __init__(self, method, cb = None): self.object = weakref_ref(method.im_self, cb) self.func = method.im_func self.cls = method.im_class def __call__(self): obj = self.object() if obj is None: return None return new.instancemethod(self.func, obj, self.cls) Obviously the usage of the above bound_ref is just for bound methods--but I think using new.instancemethod is more correct than lazily grabbing the bound method with getattr. The only issue remaining is to whip up a C implementation :-) This is important enough that I'll try to look into it today, unless Phil raises serious objections about its feasibility :P > > Might it be possible to have it used by PyQt for virtual methods? > > Thanks, > _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt