Static attributes aren' immutable
Lars T. Kyllingstad
public at kyllingen.NOSPAMnet
Fri Mar 5 07:24:10 PST 2010
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
More information about the Digitalmars-d-learn
mailing list