On Sunday, 27 January 2019 at 05:37:57 UTC, Jonathan Levi wrote:
This works in LDC but not DMD?
```
class A : B, I {
alias i = typeof(super).i;
}
class B {
void i() {
writeln("i");
}
}
interface I {
void i();
}
```
Is this a bug in DMD or in LDC? How can I get this effect
correctly?
There is no bug here.
A does not implement i as a function which it should.
What you want to do is to override i within A and then call
super.i() in the function.
An alias does not substitute an implementation and I think that's
good because it could really cause some nasty hijacking bugs.