www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 14563] New: core.demangle: Does not demangle type modifers

https://issues.dlang.org/show_bug.cgi?id=14563

          Issue ID: 14563
           Summary: core.demangle: Does not demangle type modifers
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: druntime
          Assignee: nobody puremagic.com
          Reporter: ibuclaw gdcproject.org

Running ddemangle with the following input:
---
_D8demangle1S2fnMFZv
_D8demangle1S2fnMxFZv
_D8demangle1S2fnMyFZv
_D8demangle1S2fnMNgFZv
_D8demangle1S2fnMOFZv
_D8demangle1S2fnMOxFZv
_D8demangle1S2fnMONgFZv
_D8demangle1S2fnMONgxFZv
---

Outputs:
---
void demangle.S.fn()
const(void function()) demangle.S.fn
immutable(void function()) demangle.S.fn
demangle.S.fninout(void function())
shared(void function()) demangle.S.fn
shared(const(void function())) demangle.S.fn
shared(inout(void function())) demangle.S.fn
shared(inout(const(void function()))) demangle.S.fn
---

All but the first are off by a mile.

Expected output should be something like:
---
void demangle.S.fn()
void demangle.S.fn() const
void demangle.S.fn() immutable
void demangle.S.fn() inout
void demangle.S.fn() shared
void demangle.S.fn() shared const
void demangle.S.fn() shared inout
void demangle.S.fn() shared inout const
---

--
May 09 2015