GSoC 2016 - Precise GC

Steven Schveighoffer via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri May 6 02:31:08 PDT 2016


On 5/6/16 11:06 AM, Dmitry Olshansky wrote:
> On 06-May-2016 05:37, Jeremy DeHaan wrote:
>> On Wednesday, 4 May 2016 at 12:42:30 UTC, jmh530 wrote:
>>> On Wednesday, 4 May 2016 at 02:50:08 UTC, Jeremy DeHaan wrote:
>>>>
>>>> I'm not sure, but one would think that @safe code wouldn't need any
>>>> extra information about the union. I wouldn't know how to
>>>> differentiate between them though during runtime. Probably someone
>>>> with more experience with the compiler would know more about that
>>>> kind of thing.
>>>
>>> You can identify safe functions with
>>> https://dlang.org/phobos/std_traits.html#isSafe
>>> or
>>> https://dlang.org/phobos/std_traits.html#functionAttributes
>>
>> All I meant was that I don't know enough about what the compiler does
>> with built in types to make this work. It almost sounds like we would
>> need a safe union and unsafe union type and do some extra stuff for the
>> unsafe union, but I'm just starting to learn about this stuff.
>
> I'd note that a union without pointers doesn't hurt precise scanner,
> it's only the ones with pointers that are bad.
>

Ones that have only pointers are probably OK too. Though I'm not sure if 
a precise scanner takes into account the type of the pointer. I would 
expect it to use embedded typeinfo in target block.

-Steve


More information about the Digitalmars-d-announce mailing list