Mercurial > projects > dstress
view run/i/interface_23_D.d @ 931:47ef91337f5f
<smjg@iname.com>
2006-03-22
news:bug-65-3@http.d.puremagic.com/bugzilla/
author | thomask |
---|---|
date | Fri, 24 Mar 2006 14:25:30 +0000 |
parents | |
children | 81222734adf3 |
line wrap: on
line source
// $HeadURL$ // $Date$ // $Author$ // @author@ <smjg@iname.com> // @date@ 2006-03-22 // @uri@ news:bug-65-3@http.d.puremagic.com/bugzilla/ module dstress.run.i.interface_23_D; int status; interface I { int showData(); } class Parent { I test() { status += 7; return new Child(42); } } class Child : Parent, I { int data; this(int d) { data = d; } override Child test() { status += 1; return new Child(69); } override int showData(){ return data; } } int main() { Child a = new Child(105); assert(a); assert(status == 0); assert(a.data == 105); Parent p = a; assert(a); assert(status == 0); a.test(); assert(status == 1); I i = p.test(); assert(i); assert(status == 2); assert(a.data == 105); assert(a.showData() == 105); assert(i.showData() == 69); return 0; }