On 2010-11-13 18:27, div0 wrote:
On 13/11/2010 15:49, Jacob Carlborg wrote:
On 2010-11-13 14:56, div0 wrote:
On 13/11/2010 11:02, Jacob Carlborg wrote:
On 2010-11-12 17:44, Ellery Newcomer wrote:
Should be. Are you having problems?

(I don't use them much, but fwiw, it seems like tango had some
[trivial?] problems with them)

On 11/12/2010 10:08 AM, Jacob Carlborg wrote:
Is D supposed to be able to handle nested associative arrays ?



Well, yes. The following code:

module main;

void main ()
{
auto tree = ["" : ["" : ""]];
}

Using DMD 1.065 results in:

Assertion failed: (0), function toExpression, file init.c, line 437.

That's static initialisation not an AA.

alias string[char] innerAA;
alias innerAA[int] outerAA;

outerAA x;
innerAA t;

x[2] = t;

auto y = x[2];
y['c'] = "cat";

I've no idea what'll happen if you start passing it around though.

How about "associative array literal" then? Regardless of what you call
it I shouldn't get an assertion failure.


True. It's been fixed in dmd2 though, you get:

Error: Integer constant expression expected instead of ""

When it's auto the compiler thinks you are doing static initialisation
of a flat array, not an AA. You have to do what Ellery said.

Well, that's no fun. How many are using the Static Initialization of Static Arrays syntax: http://www.digitalmars.com/d/2.0/arrays.html#static-init-static ?

--
/Jacob Carlborg

Reply via email to