Setting immutable static data inside a struct in a module constructor?
Alex
sascha.orlov at gmail.com
Sun Mar 3 20:41:36 UTC 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 b
Hmm... 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");
}
More information about the Digitalmars-d-learn
mailing list