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;