Thread overview
[Issue 10113] New: Can't use an enum : string in a switch statement
May 18, 2013
Dylan
May 18, 2013
Dylan
May 26, 2013
Henning Pohl
Jun 10, 2013
Andrej Mitrovic
Jun 10, 2013
Andrej Mitrovic
Jun 10, 2013
Andrej Mitrovic
Jun 10, 2013
Andrej Mitrovic
May 18, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10113

           Summary: Can't use an enum : string in a switch statement
           Product: D
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: tcdknutson@gmail.com


--- Comment #0 from Dylan <tcdknutson@gmail.com> 2013-05-17 23:39:09 PDT ---
Instances of an enum of type string can't be passed into a switch or final switch:

----
enum Test : string {
    Foo = "Foo",
}

Test a = Test.Foo;
switch(a) {
    case Test.Foo: break;
}
----

even though a string is a valid type to pass into a (final) switch.

Compiler error: Error: 'a' must be of integral or string type, it is a Test

but obviously the underlying type of 'a' is string.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 18, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10113



--- Comment #1 from Dylan <tcdknutson@gmail.com> 2013-05-18 00:11:41 PDT ---
Sorry; I forgot to include compiler info.

> dmd --version
DMD v2.063 DEBUG

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 26, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10113


Henning Pohl <henning@still-hidden.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull
                 CC|                            |henning@still-hidden.de


--- Comment #2 from Henning Pohl <henning@still-hidden.de> 2013-05-26 14:51:55 PDT ---
https://github.com/D-Programming-Language/dmd/pull/2080

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 10, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10113



--- Comment #3 from github-bugzilla@puremagic.com 2013-06-09 19:13:01 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/abdccd46f3820f44b37b754dc15beed99fda4b96 fix issue 10113 - Can't use an enum : string in a switch statement

https://github.com/D-Programming-Language/dmd/commit/9b6fa5682c50d2b9674c1e5cb97672a4f7daa35b Merge pull request #2080 from hpohl/10113

fix issue 10113 - Can't use an enum : string in a switch statement

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 10, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10113


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |temiy@aisys.ru


--- Comment #4 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-06-09 19:20:38 PDT ---
*** Issue 2950 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 10, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10113


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich@gmail.com


--- Comment #5 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-06-09 19:23:17 PDT ---
Even though the pull didn't test this, the -g switch seems to work too. (in my pull this didn't work). It may be a good idea to add -g in the PERMUTE_ARGS section though, to avoid regressions.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 10, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10113


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 10, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10113



--- Comment #6 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-06-09 20:07:30 PDT ---
(In reply to comment #2)
> https://github.com/D-Programming-Language/dmd/pull/2080

Thanks, Henning. Keep up the good work!

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