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