On Tuesday, 21 July 2015 at 21:50:35 UTC, rsw0x wrote:
On Tuesday, 21 July 2015 at 21:44:07 UTC, rsw0x wrote:
On Sunday, 19 July 2015 at 17:12:07 UTC, rsw0x wrote:
[...]
wow, I don't even remember posting this.
This is (mostly) wrong, but I'm unsure if a pointer to another
pointer on the stack would correctly keep its object
alive(but, I believe this would just be a bug I think,) If the
pointer was pointing to a pointer on the heap, then AFAICT it
would keep it alive.
addendum:
http://dlang.org/garbage.html
Pointers in D can be broadly divided into two categories: Those
that point to garbage collected memory, and those that do not.
Examples of the latter are pointers created by calls to C's
malloc(), pointers received from C library routines, pointers
to static data, pointers to objects on the stack, etc.
and those that do not ... pointers to objects on the stack, etc.
I believe this implies that it would *not* keep the object
alive.
Sorry for the confusion/noise.
But as long as the original pointer is still on the stack, that
one _will_ keep the object alive. It is only a problem if all
pointers to a GC managed object are stored in places the GC isn't
informed about.