digitalmars.D.bugs - [Issue 21747] New: core.demangle does not understand function-local
- d-bugmail puremagic.com (53/53) Mar 22 2021 https://issues.dlang.org/show_bug.cgi?id=21747
https://issues.dlang.org/show_bug.cgi?id=21747 Issue ID: 21747 Summary: core.demangle does not understand function-local mangling Product: D Version: D2 Hardware: x86 OS: Mac OS X Status: NEW Severity: enhancement Priority: P1 Component: druntime Assignee: nobody puremagic.com Reporter: pro.mathias.lang gmail.com Since the fix for issue 14831, the following code outputs the same value for mangled and demangled names: ``` import core.demangle; import std.meta; import std.stdio; void main () { foreach (idx, T; AliasSeq!(int, char, bool, int, string, int, ubyte)) { void checkValue (TT) (TT value, size_t id) { assert(id == idx); assert(value == TT.init); } checkValue(T.init, idx); writeln(" Mangled named: ", checkValue!T.mangleof); writeln("Demangled named: ", checkValue!T.mangleof.demangle); } } ``` ``` Mangled named: _D3foo4mainFZ__T10checkValueTiZQpMFNaNbNiNfimZv Demangled named: pure nothrow nogc safe void foo.main().checkValue!(int).checkValue(int, ulong) Mangled named: _D3foo4mainFZ__T10checkValueTaZ5__S1QuMFNaNbNiNfamZv Demangled named: _D3foo4mainFZ__T10checkValueTaZ5__S1QuMFNaNbNiNfamZv Mangled named: _D3foo4mainFZ__T10checkValueTbZ5__S2QuMFNaNbNiNfbmZv Demangled named: _D3foo4mainFZ__T10checkValueTbZ5__S2QuMFNaNbNiNfbmZv Mangled named: _D3foo4mainFZ__T10checkValueTiZ5__S3QuMFNaNbNiNfimZv Demangled named: _D3foo4mainFZ__T10checkValueTiZ5__S3QuMFNaNbNiNfimZv Mangled named: _D3foo4mainFZ__T10checkValueTAyaZ5__S4QwMFNaNbNiNfQvmZv Demangled named: _D3foo4mainFZ__T10checkValueTAyaZ5__S4QwMFNaNbNiNfQvmZv Mangled named: _D3foo4mainFZ__T10checkValueTiZ5__S5QuMFNaNbNiNfimZv Demangled named: _D3foo4mainFZ__T10checkValueTiZ5__S5QuMFNaNbNiNfimZv Mangled named: _D3foo4mainFZ__T10checkValueThZ5__S6QuMFNaNbNiNfhmZv Demangled named: _D3foo4mainFZ__T10checkValueThZ5__S6QuMFNaNbNiNfhmZv ``` --
Mar 22 2021