April 29, 2017
I'd like to know why the things work like they are working now:


===
module a;
immutable int[42] a = [42]; // OK
static immutable int[42] b = [42]; // OK

void main()
{
    immutable int[42] c = [42]; // Not allowed
}
===

1/ this is error prone
2/ the semantic is not consistent (allowed here, forbidden there)