Bernard Helyer:
> AAs can't be assigned to at compile time (:[).
You can define enum ones, this works:
import std.stdio;
enum int[string] aa = ["foo": 10];
void main() {
writeln(cast(bool)("foo" in aa));
writeln(aa["foo"]);
writeln(cast(bool)("hello" in aa));
}
But this code:
import std.stdio;
immutable int[string] aa = ["foo": 10];
void main() {
writeln(cast(bool)("foo" in aa));
writeln(aa["foo"]);
writeln(cast(bool)("hello" in aa));
}
Raises the compilation error:
test.d(2): Error: non-constant expression ["foo":10]
In theory aa here is a constant expression :-)
Bye,
bearophile