diff tangotests/t.d @ 143:336ec4f4bbb3 trunk

[svn r147] tango.io.Console is now working. True this time :) Yay!
author lindquist
date Fri, 25 Jan 2008 01:42:36 +0100
parents aeddd4d533b3
children
line wrap: on
line diff
--- a/tangotests/t.d	Wed Jan 23 15:48:19 2008 +0100
+++ b/tangotests/t.d	Fri Jan 25 01:42:36 2008 +0100
@@ -1,33 +1,34 @@
 interface MyInterface
 {
-    void func();
-}
-
-abstract class MyBaseClass : MyInterface
-{
-    abstract void func();
+    int func();
 }
 
-class MyClass : MyBaseClass
+class MyClass : MyInterface
 {
-    void func()
+    int var;
+    int func()
     {
+        return var;
     }
+}
 
-    MyBaseClass toBase()
-    {
-        return this;
-    }
+void func1(MyInterface i)
+{
+    int delegate() dg = &i.func;
+    func2(dg);
+}
+
+extern(C) int printf(char*, ...);
+
+void func2(int delegate() dg)
+{
+    int i = dg();
+    printf("%d\n", i);
 }
 
 void main()
 {
-    printf("STARTING\n");
     auto c = new MyClass;
-    printf("c = %p\n", c);
-    auto b = c.toBase;
-    printf("b = %p\n", b);
-    printf("FINISHED\n");
+    c.var = 42;
+    func1(c);
 }
-
-extern(C) int printf(char*, ...);