Why non- at property functions don't need parentheses
Jonathan M Davis
jmdavisProg at gmx.com
Sun Feb 6 20:53:45 PST 2011
On Sunday 06 February 2011 20:38:29 %u wrote:
> Hi,
>
> I was wondering, why are we allowed to omit parentheses when calling
> functions with no arguments, when they are not @properties? Is there a
> good reason for relaxing the language rules like this?
Because the compiler is not in line with TDPL yet. It used to be that @property
didn't even exist and _all_ functions which returned a value and took no
parameters could be used as a getter property and _all_ functions which returned
void and took a single value could be used as a setter property. @property was
added so that it could be better controlled. However, while @property has been
added, the compiler has yet to be changed to enforce that @property functions
are called without parens and that non- at property functions are called with them.
It will be fixed at some point, but it hasn't been yet.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list