digitalmars.D.learn - More on immutable
- bearophile <bearophileHUGS lycos.com> Mar 08 2010
- "Steven Schveighoffer" <schveiguy yahoo.com> Mar 08 2010
I am trying to learn more about the usage of immutable. This is a little D2
program:
immutable class S {
static int x;
static this() {
S.x = 10;
}
}
void main() {}
The compiler outputs:
test.d(3): Error: function test2.S._staticCtor1 without 'this' cannot be
const/immutable
Can you tell me what's wrong or how I can fix it?
Bye and thank you,
bearophile
Mar 08 2010
On Mon, 08 Mar 2010 09:08:26 -0500, bearophile <bearophileHUGS lycos.com> wrote:I am trying to learn more about the usage of immutable. This is a little D2 program: immutable class S { static int x; static this() { S.x = 10; } } void main() {} The compiler outputs: test.d(3): Error: function test2.S._staticCtor1 without 'this' cannot be const/immutable Can you tell me what's wrong or how I can fix it?
There was a discussion on D.learn in December of last lear that resulted in this bug being filed: http://d.puremagic.com/issues/show_bug.cgi?id=3598 Note that even if static functions were allowed in immutable classes/structs, the static field members will still be tagged as immutable, so your example shouldn't compile. -Steve
Mar 08 2010








"Steven Schveighoffer" <schveiguy yahoo.com>