I don't understand why we wouldn't want properties either.  Another issue 
I've had a couple times, although there might be a good reason for this 
I'm not aware of:

class Foo {
        int x;
}

void set(inout int x) {
        x = 10;
}

void main() {
        auto foo = new Foo();
        set(foo.x); // This works fine
}

But then if you need to make x a property:

class Foo {
        int _x;
        
        int x() { return _x; }
        int x(int val) { return _x = val; }
}

You get "Error: foo.x() is not an lvalue"

Reply via email to