Mike B Johnson wrote:
I don't think it has to do with pasting code.d.Quack() is well defined through the alias. Inheritance requires that a Quack() exists, and it does, through the alias.The compiler could easily create an implementation wrapper that uses the alias this.
this is called "code pasting".