On 2/3/13, Andrei Alexandrescu <[email protected]> wrote: > For properties &a.prop is not the same as &(a.prop), > which is unlike other expressions.
I have an idea. The DIP says that @property cannot return a @property function. Therefore we could introduce a new built-in property (pardon the pun) that only @property functions have, ala: a.prop.addrOf Similar to how we have .funcPtr for other types. This field would only exist for @propery functions and therefore it's never ambiguous on whether it applies to the function or to the function call (it *has* to apply to the function since it cannot return a @property. So instead of having behavior based on whether there are any parens involved, you would have: &a.prop; // address of return value &(a.prop) // ditto a.prop.addrOf // address of property function
