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