DIP25 draft available for destruction
deadalnix
deadalnix at gmail.com
Wed Feb 6 22:13:35 PST 2013
On Thursday, 7 February 2013 at 06:06:56 UTC, Walter Bright wrote:
> On 2/6/2013 7:30 PM, deadalnix wrote:
>> The limitation on address taking seriously impair the
>> possibility of
>> implementing @property properly to emulate a field.
>
> Properties are always going to be subsets of fields. For
> example,
>
> @property int foo() { return 3; }
>
> is never going to work with trying to get the address of 3.
> Trying to make it work would be a quixotic quest of dubious
> utility. I.e. I disagree that it is a serious impairment.
>
Obviously it is not going to work in that case.
You'll find a huge difference between it will not work in case
XXX and it is impossible to make it work.
It is a given that @properties can't 100M emulate field, but the
goal should be to close he gap as much as possible.
>> It seems like a solvable problem, as scope can be explicited.
>> But then, some
>> address taking are back, and so the syntax problem around
>> previous DIP isn't
>> solved (But that is arguably a good thing as we should solve
>> problems
>> themselves, not symptoms).
>
> The only time (now) that you can take the address of function
> return value is if that is a return by ref. So, if taking the
> address of a ref is disallowed, then the syntax is no longer
> ambiguous.
It doesn't change anything in many cases. Especially for template
alias parameters. It doesn't change the intrinsic complexity of
the proposal that conflate a function (as first class object),
its return value, and the useless C/C++ entity that is a function.
More information about the Digitalmars-d
mailing list