Mercurial > projects > ldc
view tests/mini/interface3.d @ 1180:f5729209a1d4
Remove some redundancy from the DValue hierarchy: all subclasses had a 'type'
field and identical implementations of virtual function getType().
Move these to DValue itself, and make getType() non-virtual.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Tue, 31 Mar 2009 01:18:35 +0200 |
parents | 340acf1535d0 |
children |
line wrap: on
line source
module interface3; extern(C) int printf(char*,...); interface I { void func(); } class C : I { int i = 42; override void func() { printf("hello %d from %p\n", i, this); i++; } } void main() { auto c = new C; {c.func();} { I i = c; {i.func();} } {printf("final %d\n", c.i);} {assert(c.i == 44);} }