Hi,
This has already been discussed a lot, actually.
The restriction is because the compiler needs to know the variable access (either 'default' or 'get') at compile type because getter/setter resolution is done then.
(Because native getter/setter support is not available / consistent across platforms)
If what you want was allowed, for instance this code :
var b : A = new B();
b.v = 1;
... which is perfectly valid, would generated this (for example in javascript):
var b = new B();
b.v = 1;
... instead of this :
var b = new B();
b.set_v(1);
... because at compile time, Haxe considers b of type A, and 'v' an actual variable,
instead of considering b of type B, with 'v' being a getter variable.
As much as I'd love to be able to do it as well,
I don't think it's something trivial/easy to implement.
Best,
Clément