On 02/28/13 14:33, angel wrote:
> Possibly setters had better have 'void' as their return type.
> Then
> auto a = b.setter = 3;
> will have the predictable behavior with both 'a' and 'whatever b-setter sets'
> being set to 3. Otherwise, it might be totally unpredictable.
>
> On the other hand, possibly setters MUST return a value of the same type they
> accept, in order to be able to emulate standard-like behavior.
>
> When I re-read it, the 1-st option looks cleaner.
...
long setter(long v) @property;
...
auto a = b.setter = 3;
// and there's no reason to disallow:
long setter(ubyte v) @property;
long setter(T:long)(T v) @property;
long setter(U)(U v) @property;
// etc
artur