allMembers broke for __
    DigitalDesigns 
    DigitalDesigns at gmail.com
       
    Sun Jun 17 23:19:10 UTC 2018
    
    
  
On Sunday, 17 June 2018 at 22:55:57 UTC, Walter Bright wrote:
> On 6/15/2018 11:08 PM, DigitalDesigns wrote:
>> When an identifier starts with __, allMembers does not return 
>> it. This is very bad behavior! It can silently create huge 
>> problems if the programmer is not aware of the bug.
>
>
> It's not a bug, it's quite deliberate:
>
>   
> https://github.com/dlang/dmd/blob/master/src/dmd/traits.d#L1385
>
>
> Identifiers starting with __ are reserved for the 
> implementation:
>
>   https://dlang.org/spec/lex.html#identifiers
>
> They have implementation-defined behavior. Do not use them in 
> user code.
If you don't want me to use it then why not give an error instead 
of punishing me by introducing very difficult bugs to detect?
Do you really think that everyone that starts using D will 
automatically know the traps of __ and avoid it like the plague 
just because you said so(even though they probably never actually 
seen you say it)?
How about instead of __, you guys use ____ in your code? That 
would be more sane than breaking my code because I used an extra 
_.
Again, you can justify all you want... it doesn't make it right.
    
    
More information about the Digitalmars-d
mailing list