www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 6529] New: writeln(const array of enums) too

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6529

           Summary: writeln(const array of enums) too
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Windows
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Phobos
        AssignedTo: nobody puremagic.com
        ReportedBy: bearophile_hugs eml.cc



This enhancement request is almost a bug report.


import std.stdio: writeln;
enum Foo : char { A='a', B='b', C='c' }
void main() {
    const Foo[] foos = [Foo.A];
    writeln(foos);
}



DMD 2.055beta gives errors, but I'd like to print such arrays too:

...\src\phobos\std\format.d(1338): Error: static assert 
(isInputRange!(const(Foo)[])) is false
...\src\phobos\std\format.d(1652):        instantiated from here:
formatValue!(LockingTextWriter,const(Foo[]),immutable(char))
...\src\phobos\std\format.d(309):        instantiated from here:
formatGeneric!(LockingTextWriter,const(Foo[]),immutable(char))
...\src\phobos\std\stdio.d(678):        instantiated from here:
formattedWrite!(LockingTextWriter,immutable(char),const(Foo[]))
...\src\phobos\std\stdio.d(1511):        instantiated from here:
write!(const(Foo[]),char)
test.d(5):        instantiated from here: writeln!(const(Foo[]))

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 18 2011
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6529


Kenji Hara <k.hara.pg gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid
          Component|Phobos                      |DMD
           Platform|x86                         |All
         OS/Version|Windows                     |All
           Severity|enhancement                 |normal



This is not an issue of std.format, is the issue of dmd.

enum Foo : char { A='a' }
ref const(Foo) f(const(Foo)[] arr){ return arr[0]; }
// test.d(2): Error: arr[0u] isn't mutable

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 31 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6529


Kenji Hara <k.hara.pg gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch



https://github.com/D-Programming-Language/dmd/pull/360

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Aug 31 2011
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=6529


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla digitalmars.com
         Resolution|                            |FIXED



14:35:17 PDT ---
https://github.com/D-Programming-Language/dmd/commit/b83b97e7b83e987a035cde99ff0f9de7ca8a0cf4

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 02 2011