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

Ethan Watson via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 3 15:13:12 PDT 2016


On Saturday, 3 September 2016 at 21:54:24 UTC, Jacob Carlborg 
wrote:
> Here's the PR that introduced the change: 
> https://github.com/dlang/dmd/pull/6078

I'm certainly not going to upgrade to the next DMD if this change 
is retained. allMembers not returning all members makes 
introspection entirely useless when it comes to Binderoo.

The wrong conclusions were made from that bug to begin with it 
seems. allMembers should return all members. getProtection should 
report on the protection of a symbol *regardless* of whether 
getMember will succeed or not (this is currently why I have my 
PrivacyOf workaround - to stop the compiler crashing when using a 
template instead of a mixin template to do introspection).

getMember itself, well, I'd honestly prefer if there was a way to 
get to members without having to correlate with .tupleof as it 
will simplify Binderoo code. The .tupleof method doesn't help me 
when it comes to introspecting private/protected functions for 
C++ binding.


More information about the Digitalmars-d mailing list