disable all member function calls for rvalues?
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Fri Dec 25 06:13:13 PST 2009
Kagamin wrote:
> Andrei Alexandrescu Wrote:
>
>>> Andrei Alexandrescu Wrote:
>>>
>>>>> In contrast with the original example this is not a bug.
>>>> I think it is to the extent (a) it does nothing (b) the
>>>> syntactic equivalent code involving fields does something. It's
>>>> an egregious breakage of consistency because properties were
>>>> meant to be generalizations of fields in the first place.
>
>>> foo().obj.unlink(); foo().obj2().unlink();
>> File does not have an unlink member but I get your point. As I
>> said, refusing to bind ref to rvalues disables a few valid uses. I
>> am willing to renounce those few uses.
>
> So you deliberately want to break consistency between fields and
> properties? As I understnd, .obj will be allowed and .obj2 will be
> disallowed?
Properties that return rvalues cannot be fully consistent with fields
anyway. By the change I suggested, false friends that look syntactically
the same but do different things are avoided.
Anyway, I dropped the suggestion due to the array slice example, but I
still think this is a serious problem with D.
Andrei
More information about the Digitalmars-d
mailing list