> 2. Make regular D objects on closures [4] to be able to know when 
> delegate's outer scope is destroyed (this will auto-fix both [5] and 
> [2], see Comment 2 of [2] for code example)

I still don't understand what that buys us. Having a closure being an
object would make it possible to use a weak reference, but why would you
want that? The signal would be the only one to hold a reference to the
lamdas context, if this reference was a weak one, then the memory would
be claimed immediately. This is why std.signals2 holds a strong ref to
the delegate context of a wrapping closure and a weak ref to the target
object.



Reply via email to