diff run/mini/classes9.d @ 1628:c6ef09dfba4d

add mini test set from ldc project
author Moritz Warning <moritzwarning@web.de>
date Mon, 10 Jan 2011 19:47:18 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/mini/classes9.d	Mon Jan 10 19:47:18 2011 +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);
+        }
+    }
+}