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

Martin Nowak via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 3 09:10:35 PDT 2016


On Saturday, 3 September 2016 at 15:48:24 UTC, ketmar wrote:
> just a wrapper class, which will hold the actual instantiation 
> and a scope. most of the code should "pass thru" the wrapper (i 
> thing that `alias this` can be used for that, but have to check 
> it), yet `__traits` can use additional info. sure, that will 
> require some work, but it's not that impossible, and should not 
> ruin caching. yeah, we will waste additional 16/32 bytes per 
> template instance this way. not that much, and it will solve 
> the problem in most natural way.

Well, if you're making a difference based on the instantiation 
scope inside the template, then you're are leaking it into the 
template, do require a new instance for every instantiation, are 
ruining caching, do require unique mangling and redundant codegen.
We have mixin templates exactly for the purpose of instantiating 
them in the origin scope.


More information about the Digitalmars-d mailing list