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.

Reply via email to