Bug 2147 – std.typecons broken (or wrong documentation presented)

Status
RESOLVED
Resolution
WONTFIX
Severity
normal
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
x86
OS
All
Creation time
2008-06-10T08:07:00Z
Last change time
2015-06-09T01:21:35Z
Assigned to
andrei
Creator
arkangath

Comments

Comment #0 by arkangath — 2008-06-10T08:07:06Z
The example given in the example for defineEnum in page http://www.digitalmars.com/d/2.0/phobos/std_typecons.html#defineEnum does not compile. The specific code is import std.stdio; import std.typecons; mixin(defineEnum!("Openmode", "READ", "WRITE", "READWRITE", "APPEND")); void main() { Openmode m = Openmode.READ; string s = toString(m); assert(s == "READ"); Openmode m1; assert(fromString(s, m1) && m1 == m); } But DMD (the latest 2.x version) claims that .toString does not exist. Was it removed or broken? Should the bug be filed has "inconsistent documentation" or "broken library"? Lastly, why not put the .toString directly onto the enum structure? Going around with this mixin is just ugly.
Comment #1 by andrei — 2010-09-26T08:30:43Z
Regular enums now support conversion to and from string, which makes defineEnum unnecessary. I deprecated it. http://www.dsource.org/projects/phobos/changeset/2051