On Tuesday, 20 November 2012 at 14:13:51 UTC, Adam D. Ruppe wrote:
On Tuesday, 20 November 2012 at 13:50:10 UTC, Regan Heath wrote:
Usually I'd agree but this is a case of a wart we should just remove IMO. The fix for breaking cases is simple, add @property.

meh, I sometimes use it, but if overloading on @property works, that's easy enough to allow both ways.

I use it in some big chaining things:

Element.make("div").className("foo").value = "bar";

vs

auto element = Element.make("div");
element.className = "foo";
element.value = "bar";

That's a good point. If the property is a "setter", then both "value = bla" and "value(bla)" is legal.

If the property is a getter, then only "=" works. But I think it would be fine if "value(bla)" were tanslated to "value = bla" in that case.

However, if you allow "foo = rhs" => "foo(rhs)" on a non-propety, then code like this becomes legal:
writeln = 5;
And that's bullshit.

Reply via email to