[Issue 580] New: Inconsistent constant->enum conversion rules

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Nov 20 13:14:33 PST 2006


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

           Summary: Inconsistent constant->enum conversion rules
           Product: D
           Version: 0.174
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: sean at f4.ca


Compiling the code:

    enum A : uint
    {
        a = 0,
        b = 1
    }

    enum B : ulong
    {
        a = 0,
        b = 1
    }

    void main()
    {
        A a = 1;
        B b = 1;
    }

Gives:

    test.d(16): Error: cannot implicitly convert expression (1) of type int to
B

Changing the second constant to 1UL has the same result.  This is inconsistent.
 Either both assignments should work or neither should.


-- 




More information about the Digitalmars-d-bugs mailing list