view run/opIdentity_02.d @ 1383:52c9e86b6486

@url@ -> @uri@
author thomask
date Sun, 04 Mar 2007 13:07:35 +0000
parents 32f7f8ce5e51
children d3a3e0c251d8
line wrap: on
line source

// $HeadURL$
// $Date$
// $Author$

// @author@	teqDruid <me@teqdruid.com>
// @date@	2005-01-12
// @uri@	news:pan.2005.01.12.13.20.54.546749@teqdruid.com
// @uri@	nntp://news.digitalmars.com/digitalmars.D.bugs/2676

module dstress.run.opIdentity_02;

interface I {
	I parent();
	void parent(I i);
	void addChild(I i);
}

interface J : I {
}

class A : I {
	private I myParent;
	
	void addChild(I i) {
		i.parent = this;
        }

	I parent() {
		return myParent;
	}
        
	void parent(I parent) { 
		myParent = parent;
	}
}

class B : A, J {
}

int main() {
 	J a = new B;
	J b = new B;
	a.addChild(b);
	assert(cast(J)b.parent is a);
	return 0;
}