On 04/28/2014 12:12 AM, David Held wrote: > Here is a compilable example which fails: > > void main() > { > double[int][string] nestedAA; > nestedAA["test"] = null;
I think I see what's going on. The line above has almost no effect. For example, it does not populate "test" with an empty double[int] AA. I think there is conceptually an entry but that entry will be created lazily when an element is added to it.
> auto innerAA = nestedAA["test"]; That line is not a reference to "test" but another null: assert(innerAA is null); > innerAA[42] = 3.14; That entry populates the local AA. The "test" entry is still null. > assert(42 in nestedAA["test"]); And that line fails. Ali