Compiler doesn't complain with multiple definitions
    John Colvin via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Thu Nov 12 07:29:12 PST 2015
    
    
  
On Thursday, 12 November 2015 at 15:06:26 UTC, ric maicle wrote:
> On Thursday, 12 November, 2015 07:50 PM, anonymous wrote:
>> __traits has special syntax. The first "argument" must be from 
>> a list of
>> special keywords that only have special meaning in that place. 
>> You can't
>> put the name of a struct there, and you can't put the special 
>> keyword
>> anywhere else. So there's no ambiguity, and you're not 
>> redefining
>> anything. Everything's fine.
>
> Thanks for clarifying __traits.
>
> On another thing. I'm wondering why the compiler didn't issue a 
> warning
> on struct isPOD and byte isPOD? Isn't this called 'shadowing' 
> or have I
> misunderstood the term?
If I remember correctly:
Shadowing globals is allowed, all other instances of shadowing 
are not.
    
    
More information about the Digitalmars-d-learn
mailing list