On 2013-11-15 07:26:56 +0000, Jacob Carlborg <d...@me.com> said:
On 2013-11-15 00:35, Manu wrote:
Very good point. I wonder if there's room to make a push for this in 2.065.
Highly unlikely. It seems like Walter wanted us to first implement
ARC, to not be worse the Objective-C currently is. But we haven't been
able to come to an agreement on how to do that.
Honestly, what I'd do is implement ARC for Objective-C types in the
compiler without waiting for Walter to decide on anything. There's
almost nothing to decide when it comes to how D/Objective-C does it:
you have to do it the same way as clang. And you can't reuse anything
Walter will come with without much tinkering because Objective-C ARC
has to manage autoreleased objects. On the other hand once you have
implemented Objective-C ARC it should be easy to retrofit the mechanics
of it to other parts of D.
I find it funny how I though about implementing ARC for D/Objective-C
even before clang came with it. Another idea involved making the D GC
capable of tracking pointers to external blocks of memory (Objective-C
objects in this case) and making it call a release function when no
longer referenced by D code. Some remnants of that:
https://github.com/michelf/druntime/blob/d-objc/src/objc/dobjc.d#L159
--
Michel Fortin
michel.for...@michelf.ca
http://michelf.ca