bearophile wrote:
I'm playing some more with immutables in D2. This program compiles:

struct Foo {
    static int x;
}
void main() {
    immutable Foo f;
    Foo.x++;
    f.x++;
}

Is this code supposed to be correct? If I have an immutable struct I want all 
of it to be immutable...

Bye and thank you,
bearophile


It is correct, because x isn't a part of the struct, it's a global variable. However, in my opinion that last line should cause a compiler error -- it shouldn't be possible to access static members through an instance of the struct.

-Lars

Reply via email to