Mercurial > projects > ldc
diff test/classes9.d @ 114:5880c12dba83 trunk
[svn r118] Fixed dynamic casts.
Fixed a few interface bugs.
author | lindquist |
---|---|
date | Sun, 25 Nov 2007 00:19:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/classes9.d Sun Nov 25 00:19:13 2007 +0100 @@ -0,0 +1,47 @@ +module classes9; + +class C +{ +} + +class D : C +{ +} + +class E +{ +} + +class F : E +{ +} + +void main() +{ + { + D d = new D; + { + C c = d; + assert(c !is null); + D d2 = cast(D)c; + assert(d2 !is null); + E e = cast(E)d; + assert(e is null); + F f = cast(F)d; + assert(f is null); + } + } + { + F f = new F; + { + E e = f; + assert(e !is null); + F f2 = cast(F)e; + assert(f2 !is null); + C c = cast(C)f; + assert(c is null); + D d2 = cast(D)f; + assert(d2 is null); + } + } +}