Beta D 2.071.2-b3
Martin Nowak via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Tue Aug 30 16:54:45 PDT 2016
On Tuesday, 30 August 2016 at 23:08:58 UTC, Martin Nowak wrote:
> On Tuesday, 30 August 2016 at 21:58:05 UTC, Basile B. wrote:
>> I'm a bit sad to see that
>> https://issues.dlang.org/show_bug.cgi?id=15371 was completely
>> ignored to fix issue 15907. Another decision could have been
>> to break the visibility for the traits allMember, getMember,
>> derivedMember and getOverloads.
>
> Well there was reasoning to choose that solution instead of the
> other (https://github.com/dlang/dmd/pull/6078) and the fact
> that private members aren't accessible (set/get) is a good
> indication that nobody needs this.
As in needs private members in __traits(allMembers).
> Adding an unsafe facility to access private members is a
> separate problem, but please see the changelog for how to
> achieve this already by mixing in templates.
Allowing access to private members has a lot of implications,
e.g. breaks lots of optimizations b/c you can't know who accesses
sth. It's also yet unclear what effect this has on @safe and we'd
not only have to modify visibility but remove the access checks
as well. This is clearly too much to just fix that problem w/
certain template instantiations, none of which should work on
private members atm.
Also you'd have to change a lot of existing code, or it would now
just operate on private members.
More information about the Digitalmars-d-announce
mailing list