On Tuesday, 22 May 2018 at 13:59:16 UTC, Steven Schveighoffer wrote:
The derailed plan was to leave alone the ability to call no-arg functions without parentheses, but to REQUIRE @property to call an argument-taking function with the assignment style.

See the DIP here: https://wiki.dlang.org/DIP23

Written by Walter and Andrei. I can't remember why it didn't happen.

-Steve

Aha. Thanks for the link!

It feels like the only difference between a no-arg function that is @property and one that is not is that the former could be invoked with optional parentheses and the latter should be illegal with parentheses.

Whereas an argument taking function marked as @property should probably allow read or write operations depending on whether or not it's invoked with an implicit first argument or not:

@property int f(int) { ... }
1.f; // read op
f = 1; // write op

And to make parentheses illegal as well of course.


Reply via email to