On Thursday, 15 March 2018 at 10:16:49 UTC, Andrey wrote:
Hello, is there way to declare read only field for class type with ability to call inner non constant methods? i.e.:

class A {
    int value = 12;
    void updateValue() {
        value = 13;
    }
}

class B {
    const A a;

    this() {
        a = new A();
a.updateValue(); // error: mutable method is not callable using const object
    }
}

class A {
    private int _value = 12;

    int value() @property { return _value; }
    void updateValue() { value = 13; }
}

...
auto a = new A();
writeln(a.value);
a.updateValue();
writeln(a.value);

Reply via email to