@property needed or not needed?
Adam D. Ruppe
destructionator at gmail.com
Mon Nov 19 05:18:40 PST 2012
On Monday, 19 November 2012 at 06:52:11 UTC, Andrei Alexandrescu
wrote:
> We need to redesign it to such that the keyword '@property' is
> only required in cases that otherwise would be ambiguous
> (functions returning functions).
There's a fairly easy way to do this, thanks to the @property
word:
1) Any function without @property remains exactly the same as it
is now. Parens are *not* required on them.
2) Any function with @property is rewritten into a call
immediately. Therefore, putting () is naturally an error or
delegate call because of the return value.
@property int foo() {}
foo; // rewritten into foo() transparently
foo(); // since foo is already foo(), this becomes foo()() - an
error because you cannot call an int like a function
The only potential for code breakage here is on stuff marked
@property, which if you have been marking it on semantic
properties already (NOT on places where you just wanted appease
the -property switch's idiotic rules), should be fine.
If in doubt, leave @property off. That leaves things exactly as
they are.
More information about the Digitalmars-d
mailing list