Extra .tupleof field in structs with disabled postblit blocks non-GC-allocation trait

Per Nordlöw per.nordlow at gmail.com
Wed May 9 14:36:38 UTC 2018


On Wednesday, 9 May 2018 at 14:34:02 UTC, Per Nordlöw wrote:
> On Wednesday, 9 May 2018 at 14:20:41 UTC, Per Nordlöw wrote:
>> If so, we can temporarily modify the trait to exclude the last 
>> `void*` member of the `S.tuple`. Given that it's always added 
>> as the last member.
>
> Also note that
>
>     pragma(msg, __traits(isDisabled, S.this(this)));
>
> fails to compile as
>
>     Error: identifier expected following `.`, not `this`

Ahh, but both

     pragma(msg, __traits(isDisabled, S.__postblit));
     pragma(msg, __traits(isDisabled, S.__xpostblit));

prints true for a struct with `@disable this(this);`

Which one should I pick to check if last element of `S.tupleof` 
should be discarded?


More information about the Digitalmars-d-learn mailing list