On Friday, 19 September 2014 at 18:49:57 UTC, Jesse Phillips
wrote:
On Thursday, 18 September 2014 at 20:11:12 UTC, IgorStepanov
wrote:
Do you ask about alias this or about it multiple usage.
Multiple usage is similar to single, but multiple:)
Just an FYI, bearophile is very knowledgeable about D and one
of the oldest community members, he holds the record for most
bugs opened.
This doesn't mean he knows everything, but it certainly makes
it clear he was asking, "why would you want to use multiple
alias this." As others mention kind of like "why would you want
to use multiple inheritance."
Sorry, I'll note it.:)
why would you want to use multiple inheritance.
I've written example with interface inherinatce.
Structs can be preferable then classes, when I want to manage
them allocating manually. When you use D as "better C", powerfull
struct's can be a you choise.
Multiple alias this (and therefore multiply inheritance) makes
structs almost as powerful as classes.
Another my motivation of doing this work is a implementing alias
this inheritance (from base class).
Situation when B can be casted to C and D, A can be casted to B
and C but cannot be casted to D is wrong:
class B : C
{
alias d this;
D d;
}
class A : B
{
}
A a = new A;
D d = a; //NG -> OK