dnspies:

I want to create a global immutable associative array and have it be accessible from anywhere at compile-time. How can I do that?

With:
immutable int[int] aa = [1:2,3:4];

I get:
source/thing.d(1): Error: non-constant expression [1:2, 3:4]

And with:
immutable int[int] aa;

static this(){
        aa = [1:2,3:4];
}

int c = aa[3];

I get:
source/thing.d(7): Error: static variable aa cannot be read at compile time


immutable int[int] aa;
pure static this() {
    aa = [1: 2, 3: 4];
}
void main() {
    int c = aa[3];
}


Bye,
bearophile

Reply via email to