Hi,I am 80% sure, the failing assertion is correct but please have a look.
Second assertion fails.
Kind regards André class A{} class B{} class C : B { A a; alias a this; this() { a = new A(); } } void main() { B b = new C(); // OK assert(cast(C)b); // fails assert(cast(A)b); }