[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