What happened to the alias this = identifier syntax in 2.062?
Chris Nicholson-Sauls
ibisbasenji at gmail.com
Sat Feb 23 00:47:54 PST 2013
On Friday, 22 February 2013 at 21:23:04 UTC, Timon Gehr wrote:
> I guess the main issue is that alias blah this; shouldn't have
> made it into the grammar in the first place. But this was
> obviously done in order to establish a broken analogy to the
> other uses of alias. Either alias this=blah; must be kept or
> the alias this syntax should be deprecated in favour of a
> specially named member function.
I believe the alias syntax was based on typedef, which was
inherited from C, and has now been removed from D; so the
justification was there in the past, but now absent which is why
the change is happening now.
As far as replacing 'alias...this' with a member function, that's
precisely how it *used* to be done with opDot(), but it suffered
from overhead. I had thought, at the time 'alias...this' was
first introduced, that the two were meant to live side by side,
but then the realization came that one could actually achieve
opDot's purpose with clever use of 'alias...this' so the latter
fell out of favor. Alas.
More information about the Digitalmars-d
mailing list