@property - take it behind the woodshed and shoot it?
TommiT
tommitissari at hotmail.com
Fri Jan 25 06:18:42 PST 2013
On Friday, 25 January 2013 at 10:56:14 UTC, mist wrote:
> On Friday, 25 January 2013 at 05:35:19 UTC, kenji hara wrote:
>> module abc;
>> @property int foo(int n);
>>
>> void main() {
>> foo = 1; // top-level property setter
>> 1.foo; // property getter with UFCS
>> }
>>
>> We cannot distinguish the two usages without adding any new
>> features.
>>
>> Kenji Hara
>
> "1.foo" must be compile error here. Makes as much sense as
>
> int a;
> void main() {
> 1.a;
> }
>
> Property must behave exactly like data or it is not a property.
I don't see 1.foo the way you see it. I see it like this:
@property bool is_zero(X value)
{
return value == 0;
}
void main()
{
X value;
value.is_zero;
}
It's just that X happens to be a built-in type, instead of a
user-defined type. But I don't see why should that matter.
More information about the Digitalmars-d
mailing list