view run/opIdentity_02.d @ 1623:04022926a4d5

Fix dstress.run.b.bug_cod1_2528_C as reported by Don Clugston Quoting Don's words from Ticket #8: Fails because it returns 3 instead of 0. The DStress test case is incorrect. The arrray literal is an int, so it's 4 bytes. Casting it to void[] should give a length of 4 -- and that's exactly what it does. Should be "return x.length - 4;".
author Leandro Lucarella <llucax@gmail.com>
date Fri, 05 Nov 2010 10:10:51 -0300
parents d3a3e0c251d8
children
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@	http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.bugs&artnum=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;
}