[Issue 6469] New: Compiler fails to initialize associative array: string->[string->string]

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Aug 11 14:14:39 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=6469

           Summary: Compiler fails to initialize associative array:
                    string->[string->string]
           Product: D
           Version: D2
          Platform: All
        OS/Version: Mac OS X
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: blazej.podsiadlo at gmail.com


--- Comment #0 from Blazej Podsiadlo <blazej.podsiadlo at gmail.com> 2011-08-11 14:14:37 PDT ---
Hi,
I'm not able to compile following code:

import std.stdio;

// print string->[string->string]
void printer(ref string[string][string] input) {
  foreach (k, ref v; input) {
    writeln(k,":");
    foreach (ki, vi ; v) {
      writeln("\t", ki, "->", vi);
    }
  }

}

int main()
{
  writeln();

  alias string[string][string] sss;

  // works fine
  sss dyn;
  dyn["one"] = ["a":"A", "b":"B"];
  dyn["two"] = ["c":"C", "d":"D"];

  printer(dyn);

  // fails during compilation
  sss stat = [
              "one" : ["a":"A", "b":"B"],
              "two" : ["d":"D", "e":"E"],
             ];

  printer(stat);

  return 0;
}

----------
/Users/blazej/Projekty/D/bpodProject/bpTable/main.d(30): Error: Integer
constant expression expected instead of "a"
/Users/blazej/Projekty/D/bpodProject/bpTable/main.d(30): Error: Integer
constant expression expected instead of "b"
/Users/blazej/Projekty/D/bpodProject/bpTable/main.d(30): Error: Integer
constant expression expected instead of "a"
/Users/blazej/Projekty/D/bpodProject/bpTable/main.d(30): Error: Integer
constant expression expected instead of "b"
/Users/blazej/Projekty/D/bpodProject/bpTable/main.d(28): Error: not an
associative array initializer
make[2]: *** [bpTable/CMakeFiles/bpTable.dir/main.o] Error 1
make[1]: *** [bpTable/CMakeFiles/bpTable.dir/all] Error 2
make: *** [all] Error 2
----------

Best Regards,
Blazej

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


More information about the Digitalmars-d-bugs mailing list