On Tuesday, 17 June 2014 at 19:02:34 UTC, Pavel wrote:

class A : B, C {
  override void test() {}
  override void test1() {}
}

If you swap the interfaces (class A: C, B), "a is b" will return false, but "a is c" will return true. Clearly, this is a bug.


void main() {
        A a = new A();
        I b = cast(B)a;
        I c = cast(C)a;


If you remove the casts, will work as expected:

I b = a;
I c = a;

or even:

B b = a;
C c = a;





Reply via email to