DIP23 draft: Fixing properties redux

Timon Gehr timon.gehr at gmx.ch
Sun Feb 3 09:58:21 PST 2013


On 02/03/2013 06:47 PM, Steven Schveighoffer wrote:
> On Sun, 03 Feb 2013 12:36:10 -0500, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> wrote:
>
>> On 2/3/13 7:40 AM, kenji hara wrote:
>>> 2013/2/3 Steven Schveighoffer <schveiguy at yahoo.com
>>> <mailto:schveiguy at yahoo.com>>
>>>
>>>     I have a possible suggestion to fix this within your proposal:
>>>
>>>     @property on single-arg free functions ONLY enables a setter mode,
>>>     it does not work as a UFCS getter.
>>>
>>>   [snip]
>>>
>>> I was thinking the exact same thing.
>>
>> Then we can't make this work:
>>
>> @property ref T front(T[] array) { return array[0]; }
>>
>> unittest
>> {
>>     auto a = [ 1, 2, 3];
>>     auto b = a.front;
>> }
>
> ref T front(T[] array) { return array[0]; }
>
> // same unittest
>

different unittest:

unittest{
     auto a = [()=>2, ()=>3, ()=>4];
     assert(a.front()==2);
}


> But I also can agree with the idea you currently have to make UFCS
> properties require a 'this' initial parameter.
>
> -Steve



More information about the Digitalmars-d mailing list