On Tuesday, 23 May 2017 at 17:38:18 UTC, Petar Kirov [ZombineDev]
wrote:
The problem is that if you return by ref you loose the ability
to intercept the setting of the value, i.e. you're no better
than just making the field public.
AFAIU the OP, he's asking for the following lowering:
e.value += 42;
// ^
// v
e.value(e.value() + 42);
However, note that in general such lowering may not always be
possible or desirable. For example:
e.someContainerProperty ~= new Item();
// ^
// v
e.someContainerProperty(e.someContainerProperty() ~ new Item());
You right, it would be nice to explicitly set lowering.