static class instances not allowed?
bearophile
bearophileHUGS at lycos.com
Tue Jun 11 07:15:13 PDT 2013
Eric:
> The following code does not compile:
>
> class Foo { int x; }
> class Bar { static Foo f = new Foo(); } // compiler error
> static Foo g = new Foo(); // compiler error
> void main() {}
>
> (dmd7) desk3:~/tp/d_test2/dlib>dmd T.d
> T.d(4): Error: variable T.Bar.f is mutable. Only const or
> immutable class thread local variable are allowed, not T.Foo
> T.d(5): Error: variable T.g is mutable. Only const or immutable
> class thread local variable are allowed, not T.Foo
>
> Why aren't static class instances allowed? Is there a
> work-around,
> or alternative approach to this?
C# compilers present bugs with a standard number, like:
myprog.cs(7,60): error CS1525: .......
This is useful because you can then write an explanation page for
each of those bugs, like CS1525:
http://msdn.microsoft.com/en-gb/library/3hdyz4dw%28v=vs.80%29.aspx
In such pages you can explain why Only const or immutable class
thread local variable are allowed.
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list