digitalmars.D.learn - Setting immutable static data inside a struct in a module constructor?
Is it possible to initialize static immutable members of a struct like you could do for a global immutable one? immutable string a; struct Test { static immutable string b; } shared static this() { a = "foo"; Test.b = "bar"; } Error: cannot modify immutable expression b
Mar 03 2019
On Sunday, 3 March 2019 at 20:10:14 UTC, aliak wrote:Is it possible to initialize static immutable members of a struct like you could do for a global immutable one? immutable string a; struct Test { static immutable string b; } shared static this() { a = "foo"; Test.b = "bar"; } Error: cannot modify immutable expression bHmm... should work, I think... But this works in any case: immutable string a; struct Test { static immutable string b; shared static this() { b = "bar"; } } shared static this() { a = "foo"; } void main(){ assert(a == "foo"); assert(Test.b == "bar"); }
Mar 03 2019
On Sunday, 3 March 2019 at 20:41:36 UTC, Alex wrote:On Sunday, 3 March 2019 at 20:10:14 UTC, aliak wrote:Ah, did not know that. Thank you!Is it possible to initialize static immutable members of a struct like you could do for a global immutable one? immutable string a; struct Test { static immutable string b; } shared static this() { a = "foo"; Test.b = "bar"; } Error: cannot modify immutable expression bHmm... should work, I think... But this works in any case: immutable string a; struct Test { static immutable string b; shared static this() { b = "bar"; } }
Mar 03 2019