Property discussion wrap-up
deadalnix
deadalnix at gmail.com
Sun Jan 27 18:16:51 PST 2013
On Monday, 28 January 2013 at 00:07:05 UTC, Andrei Alexandrescu
wrote:
> On 1/27/13 3:22 PM, Zach the Mystic wrote:
>> Several suggestions here:
>>
>> With regard to optional parentheses, it had been suggested
>> that any
>> ambiguity be regarded as an error. This is the example I used:
>>
>> int foo() { return 4; }
>> auto x = foo; // Error: gives 4 or gives function foo?
>>
>> I suggested the ambiguity be resolved thus:
>>
>> auto x = foo(); // parens to get the return value
>> auto y = cast(function) foo; // cast(function) gives the
>> function
>
> I was thinking of just using &foo, like in C.
>
The &foo syntax is really not a good one.
First, it is ambiguous with function that return a reference.
Secondly, it create a different behavior for variables and source
code defined functions.
This is one of those cases where the omition of () cascade in
more mess.
At the end, ask any dev and he/she will say you that foo is a
function. Why not make foo a function ?
More information about the Digitalmars-d
mailing list