[Issue 1112] New: Allow enums in WithStatements

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Apr 8 09:51:37 PDT 2007


http://d.puremagic.com/issues/show_bug.cgi?id=1112

           Summary: Allow enums in WithStatements
           Product: D
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: deewiant at gmail.com


Been asked for a few times, submitting it here for posterity.

enum Enum {
        A = 0, B, C
}

void main() {
        with (Enum) {
                assert (A == 0);
                assert (B == A+1);
                assert (C == B+1);
        }
}

It would be handy if the above worked. A common use case is switching on an
enum:

enum Enum {
        A = 0, B, C
}

void main() {
        Enum e;
        with (Enum) switch (e) {
                case A:
                case B:
                case C:
                default: break;
        }
        // the above looks much better than:
        switch (e) {
                case Enum.A:
                case Enum.B:
                case Enum.C:
                default: break;
        }
}


-- 



More information about the Digitalmars-d-bugs mailing list