|
Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript electronics |
digitalmars.D.bugs - [Issue 1112] New: Allow enums in WithStatements
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; } } Apr 07 2007
|