On Tuesday, 29 January 2013 at 00:56:41 UTC, Chad Joan wrote:
Would everyone be able to agree to only use @property functions
as properties? This would still allow omittable parens as a
way to make call-chaining and ufcs nicer.
I've been thinking and, while it may just be a side effect of my
code style or my own inexperience, I honestly can't think of a
situation where I'd want I'd want to use a non-@property function
as an lvalue as described here.
The limitation this imposes is that
void foo(int a) {...}
void bar(int a, int b) {...}
cannot be called in this way:
foo = 2;
2.bar = 3;
As a consequence, everyone's favorite
writeln = "lolwut";
does not compile.
Do people really do this with any degree of frequency? None of
the examples I've seen read well to me, and readability of code
is an important consideration when we need to represent semantic
meaning with syntactic saccharides.