Mercurial > projects > ldc
diff test/interface5.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 | 44a95ac7368a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/interface5.d Sun Nov 25 00:19:13 2007 +0100 @@ -0,0 +1,32 @@ +module interface5; + +interface I +{ + void func(); +} + +class C : I +{ + int i; + void func() + { + printf("C\n"); + i++; + } +} + +void main() +{ + C c = new C; + c.func(); + { + I i = c; + c.func(); + + C c2 = cast(C)i; + c2.func(); + + c.func(); + assert(c.i == 4); + } +}