On Wednesday, 14 June 2017 at 09:41:49 UTC, ketmar wrote:
Balagopal Komarath wrote:
Why doesn't this work? The Test!Duck type has a void quack()
method but the compiler says it is not implemented.
'cause `alias this` is *not* a tool that can be used to emulate
inheritance. no, `quack` is NOT impemented. `alias this` won't
automagically paste the code.
Thanks for the reply. Is there any reason for disallowing this?
AFAIK, the alias this guarantees that the interface provided by
Test!T is a superset of the interface provided by T. And, when T
= Duck, T provides everything required by IDuck. Couldn't the
compiler check while instantiating that Test!Duck provides all
methods required by IDuck?