Usability of "allMembers and derivedMembers traits now only return visible symbols"

Basile B. via Digitalmars-d digitalmars-d at puremagic.com
Wed Aug 31 01:06:05 PDT 2016


On Tuesday, 30 August 2016 at 22:46:58 UTC, Basile B. wrote:
> On Tuesday, 30 August 2016 at 22:24:12 UTC, Ali Çehreli wrote:
>> v2.071.2-b3 is bringing a change for this bug:
>>
>
> Yes I agree, a change of the specifications in a dot release 
> seems a bit extreme, especially since there was a deeper 
> problem **before** the broken imports were fixed.
>
> This problem was discovered a while back when the library 
> traits related to UDAs were added to phobos.
>
> The little story began here: 
> https://issues.dlang.org/show_bug.cgi?id=15335. Then the 
> proposal to give super powers to certain traits verbs: 
> https://issues.dlang.org/show_bug.cgi?id=15371.

To be clear, the logic I see for traits "getMember", "allMember", 
"getOverloads", "derivedMembers" (etc, all the traits that might 
be today limited by the protection attribute) is:

allow them to see everything, then use "getProtection" if you 
wanna be conform with the protection attributes.

Maybe it's worth a DIP ? Casual and informal discussions have 
**failed**.

I see now the answer that mentions ".tupleof". I see no valid 
logic that would allow ".tupleof" to see everything and not the 
traits.


More information about the Digitalmars-d mailing list