I have...

int main(string[] args) {
        auto s1 = f(); // MH MH
        auto s2 = g(); // OK
        s2.c = null; // OK
        return 0;
}

class C {}

struct StructWithConstMember {
        this(int i, C c) { this.i=i; this.c=c; }
        int i;
        const(C) c;
}

struct StructWithoutConstMember {
        this(int i, C c) { this.i=i; this.c=c; }
        int i;
        C c;
}

ref StructWithConstMember f() {
        return * new StructWithConstMember(1, new C); // ERROR
}

ref StructWithoutConstMember g() {
        return * new StructWithoutConstMember(1, new C); // OK
}


And get the error...
src\main.d(27): Error: *new StructWithConstMember(1,new C) is not mutable

So I can't return a struct that has a const member? Why? Am I missing something something?

Thanks,
Tom;

Reply via email to