How to detect/filter modules in __traits(allMembers)?

Random D user via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Jun 12 07:28:17 PDT 2016


On Saturday, 11 June 2016 at 20:30:47 UTC, Basile B. wrote:
> On Saturday, 11 June 2016 at 19:45:56 UTC, Random D user wrote:
>> Any good ideas how to do that?
>>
>> I couldn't figure it out in a short amount of time, but I 
>> expect that it's possible. I'm probably missing something 
>> obvious here. Probably because D's reflection/meta programming 
>> facilities are a bit all over the place (and unnecessarily 
>> convoluted IMO).
>> Also I'm not super familiar with every compile-time feature, 
>> which is why I want to learn and some meta functions/templates 
>> myself.
>>
>> [...]
>
> It will compile if you define the option informational warnings 
> (-wi).

Yes, ignoring deprecations gets me forward (basically the same as 
dropping back to previous compiler version), but I'd rather 
figure out/know a proper solution.

I suppose I could wrap those structs (with UDA) into a another 
named struct or empty template to split them into a separate 
"namespace" from the import modules.
I guess that wouldn't be as bad since all the structs are similar 
which means their names are similar. So basically, NameType would 
become Type.Name. Hmm...

Anyway, that workaround seems a bit silly, so I'm hoping to find 
a proper, generic and robust solution without any gimmicks.


More information about the Digitalmars-d-learn mailing list