@property - take it behind the woodshed and shoot it?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Jan 24 08:29:07 PST 2013


On 1/24/13 3:57 AM, Jacob Carlborg wrote:
> On 2013-01-24 09:34, 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.
>
> What do you mean by: "overloads for ()"?

That means there must be two overloads of f exactly:

T f();
f(T);

>> 3. Parens are required for calling delegates or function pointers.
>>
>> 4. No more @property.
>
> So:
>
> void delegate () foo ();
>
> foo() // would call the delegate ?

Yes.

a = foo; // fetch the delegate
b = foo(); // fetch and invoke the delegate


Andrei



More information about the Digitalmars-d mailing list