digitalmars.D.bugs - [Issue 1112] New: Allow enums in WithStatements
- d-bugmail puremagic.com (45/45) Apr 08 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1112
- Ary Manzana (13/67) Apr 07 2007 In fact, it would be nice to be able to ommit the name of the enum if
- d-bugmail puremagic.com (12/12) Feb 14 2010 http://d.puremagic.com/issues/show_bug.cgi?id=1112
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 digitalmars.com ReportedBy: deewiant 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; } } --
Apr 08 2007
d-bugmail puremagic.com escribió: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 digitalmars.com ReportedBy: deewiant 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; } }In fact, it would be nice to be able to ommit the name of the enum if one is switching an enum value. Enum e; switch(e) { case A: case B: case C: default: break; } That looks much nicer... That's how it is done in Java, BTW. (further, if you switch an enum in Java, it's an error to precede the enum member with the enum name... That's just paraonid!... but it always looks cleaner).
Apr 07 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1112 Alexey Ivanov <aifgi90 gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |aifgi90 gmail.com Resolution| |WORKSFORME --- Works with DMD 1.055 and DMD 2.040 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 14 2010