On Thursday, 24 January 2013 at 08:35:01 UTC, Walter Bright wrote:
This has turned into a monster. We've taken 2 or 3 wrong turns
somewhere.
Perhaps we should revert to a simple set of rules.
1. Empty parens are optional. If there is an ambiguity with the
return value taking (), the () go on the return value.
2. the:
f = g
rewrite to:
f(g)
only happens if f is a function that only has overloads for ()
and (one argument). No variadics.
3. Parens are required for calling delegates or function
pointers.
4. No more @property.
What about code that's always ignored @property?
int delegate() _del;
int delegate() getDelegate() {
return _del;
}
auto del = getDelegate(); // does _del get called?
Just a thought,
NMS