[GSoC] Precise GC

jmh530 via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Sep 2 07:55:26 PDT 2016


On Friday, 2 September 2016 at 08:14:33 UTC, Rory McGuire wrote:
>
> Can we rather just make a special tagged union that is 
> scanned... rather avoid trying to make something that should be 
> minimal more and more complex? The compiler already treats some 
> parts of phobos as "special" as far as I know.

I had asked about unions in @safe code in other threads, but I 
don't recall anyone responding.

@safe functions cannot access unions with pointers or references 
overlapping with other types. In effect, there is already a 
special tagged union that can be scanned. I would think that the 
garbage collector already identifies these types of unions and 
doesn't just treat every union with the same conservative 
approach, but I have really no idea how it works and don't recall 
hearing back about my questions.

Anyway, with @safe unions, my thinking is that it would mean that 
the garbage collector can be made precise in @safe code in a way 
that it can't in @system code (assuming unions with pointers 
aren't snuck in through @trusted).


More information about the Digitalmars-d-announce mailing list