On Sun, 03 Feb 2013 12:58:21 -0500, Timon Gehr <[email protected]> wrote:

On 02/03/2013 06:47 PM, Steven Schveighoffer wrote:
On Sun, 03 Feb 2013 12:36:10 -0500, Andrei Alexandrescu
<[email protected]> wrote:

On 2/3/13 7:40 AM, kenji hara wrote:
2013/2/3 Steven Schveighoffer <[email protected]
<mailto:[email protected]>>

    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);
}

OK, so that is not good. I think the current DIP23 idea should be sufficient, no global properties.

-Steve

Reply via email to