digitalmars.D.bugs - [Issue 6425] New: Cannot foreach over AA with char as key type
- d-bugmail puremagic.com (44/44) Aug 01 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6425
- d-bugmail puremagic.com (15/15) Aug 01 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6425
- d-bugmail puremagic.com (22/22) Apr 27 2012 http://d.puremagic.com/issues/show_bug.cgi?id=6425
- d-bugmail puremagic.com (10/10) Mar 11 2013 http://d.puremagic.com/issues/show_bug.cgi?id=6425
http://d.puremagic.com/issues/show_bug.cgi?id=6425 Summary: Cannot foreach over AA with char as key type Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: Optlink AssignedTo: nobody puremagic.com ReportedBy: ruzicic.aleksandar gmail.com --- Comment #0 from Aleksandar Ruzicic <ruzicic.aleksandar gmail.com> 2011-08-01 18:37:36 CEST --- This code: -------------------------------------- string[char] aa = [ 'f': "foo", 'b': "bar" ]; foreach (ch, str; aa) { writefln("[%s]: [%s]", ch, str); } -------------------------------------- Compiles fine but optlink complains: OPTLINK (R) for Win32 Release 8.00.12 Copyright (C) Digital Mars 1989-2010 All rights reserved. http://www.digitalmars.com/ctg/optlink.html test.obj(test) Error 42: Symbol Undefined _D6object28__T16AssociativeArrayTaTAyaZ16AssociativeArray7opApplyMFMDFKaKAyaZiZi --- errorlevel 1 while this compiles and links without problem: -------------------------------------- string[string] aa = [ "f": "foo", "b": "bar" ]; foreach (ch, str; aa) { writefln("[%s]: [%s]", ch, str); } -------------------------------------- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 01 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6425 bearophile_hugs eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bearophile_hugs eml.cc --- Comment #1 from bearophile_hugs eml.cc 2011-08-01 10:05:44 PDT --- Playing a bit with your test-case I have found this: void main() { foreach (c, str; ['f': "foo"]) c++; } Internal error: e2ir.c 4883 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 01 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6425 SomeDude <lovelydear mailmetrash.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lovelydear mailmetrash.com --- Comment #2 from SomeDude <lovelydear mailmetrash.com> 2012-04-27 07:27:19 PDT --- On 2.059, this gives: PS E:\DigitalMars\dmd2\samples> rdmd bug.d bug.d(3): Error: non-constant expression ['f':"foo",'b':"bar"] unless one defines: enum string[char] aa = ['f': "foo",'b': "bar"]; (See issue 5279) But with the above declaration, both description and comment 1 test cases run fine. Test case of description PS E:\DigitalMars\dmd2\samples> rdmd bug.d [b]: [bar] [f]: [foo] So I suggest we close this issue while keeping issue 5279 open. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 27 2012
http://d.puremagic.com/issues/show_bug.cgi?id=6425 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |andrej.mitrovich gmail.com Resolution| |WORKSFORME -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 11 2013