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

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Wed Aug 31 10:58:13 PDT 2016


On Tuesday, August 30, 2016 15:24:12 Ali Çehreli via Digitalmars-d wrote:
> v2.071.2-b3 is bringing a change for this bug:
>
>    https://issues.dlang.org/show_bug.cgi?id=15907
>
> I don't agree with the current solution:
>
>    http://dlang.org/changelog/2.071.2.html#traits-members-visibility
>
> Modules should be able to use library templates without needing to mix
> them in first.

Agreed. Having to mix stuff in for introspection is downright ugly. It makes
far more sense to provide everything and then check the attributes as
discussed elsewhere in this thread.

IMHO, having allMembers give different results depending on access level is
just plain broken.

I confess that I see no problem being able to examine symbols that are not
accessible due to the access level. They just shouldn't be usable or be
involved in overload sets. Looking at their declarations and attributes and
whatnot should be fine.

- Jonathan M Davis




More information about the Digitalmars-d mailing list