Generic and fundamental language design issue
Tommi
tommitissari at hotmail.com
Sun Nov 4 11:18:36 PST 2012
On Sunday, 4 November 2012 at 18:14:36 UTC, Dmitry Olshansky
wrote:
>
> extern(C):
> int blah(void* ptr);
>
> void func(T)()
> {
> auto t = <allocate T from heap or stack?>
> blah(&t); //now what?
> ...
> }
>
> If blah doesn't store pointer somewhere inside you are fine
> with stack. If it does then not even GC heap will help you.
In a perfect world, I think, the compiler would see that blah
stores ptr and therefore would (implicitly) allocate t on the
heap. The deallocation of the memory for t would be handled
either by garbage collector or by some kind of implicit reference
counting.
I guess with extern C functions none of the above is doable.
More information about the Digitalmars-d
mailing list