[Issue 5862] case statement allows runtime values
    via Digitalmars-d-bugs 
    digitalmars-d-bugs at puremagic.com
       
    Sat Aug 27 14:43:06 PDT 2016
    
    
  
https://issues.dlang.org/show_bug.cgi?id=5862
Andrej Mitrovic <andrej.mitrovich at gmail.com> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |INVALID
--- Comment #7 from Andrej Mitrovic <andrej.mitrovich at gmail.com> ---
As mentioned in the pull request the proposal to disallow this was rejected.
I would like to remind about this:
-----
import std.stdio;
void main()
{
    int first = 1;
    int second = 1;
    switch (1)
    {
        case first:
        {
            writeln("first");
            break;
        }
        case second:
        {
            writeln("second");
            break;
        }
        default:
    }
}
-----
The lexically first matching case will match. That's ok, but it should probably
be documented if it's not (this style of code should be rare in the wild in any
case).
--
    
    
More information about the Digitalmars-d-bugs
mailing list