V Thu, 11 Sep 2014 11:40:05 +0000 andre via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> napsáno:
> Hi, > > I am 80% sure, the failing assertion is correct but please have a > look. No it is not assert(cast(A)cast(C)b); // this is OK b is B so it does not know about having alias to A; > 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); > }