Bug 6526 – Disambiguate mangling of AA literals

Status
NEW
Severity
normal
Priority
P3
Component
dmd
Product
D
Version
D2
Platform
Other
OS
All
Creation time
2011-08-18T09:23:05Z
Last change time
2024-12-13T17:56:12Z
Keywords
bootcamp
Assigned to
No Owner
Creator
Sean Kelly
Moved to GitHub: dmd#18364 →

Comments

Comment #0 by sean — 2011-08-18T09:23:05Z
The function: fn!([1:2, 3:4])(); is mangled as: _D8demangle21__T2fnVHiiA2i1i2i3i4Z2fnFZv The pertinent part being the way associative arrays are mangled: HiiA2i1i2i3i4 The type is "Hii", so an AA of int->int. But then the value is "A2i1i2i3i4", which taken by itself suggests an array literal, not an AA literal. This is the only instance that I've encountered where the determined type has to be communicated to the value parser so it can demangle things correctly (since it would be otherwise treated as a plain old array literal and represented as "[1,2]"). It would be better if the representation for this AA were: HiiH2i1i2i3i4
Comment #1 by robert.schadek — 2024-12-13T17:56:12Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18364 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB