On Thursday, 27 February 2020 at 15:11:07 UTC, Steven
Schveighoffer wrote:
[snip]
We're going very off topic here, but I wanted to address this.
Large hidden invisible types are not the problem (look at
normal dynamic arrays, the large hidden type built into the
runtime is a huge success I think). The problem is that the
compiler gives special features to such types.
In the case of AA, the ONLY missing piece that cannot be
implemented by user types is this:
int[string][string] aalist;
aalist["hello"]["world"] = 5;
[snip]
Thanks for writing that. I spent a few minutes reading about
autovivification and was a little unsure of what the problem was
as D's operator overloading is pretty flexible. However, I don't
think I've ever used or seen used multi-dimensional associative
arrays. It looks as if you cannot make use of aalist["hello",
"world"] and have to use it like aalist["hello"]["world"].