view run/i/interface_24_B.d @ 1630:d0efa3ae5522 default tip

run/mini/naked_asm5: New x86_64 ABI passes the arguments in reverse order.
author David Nadlinger <code@klickverbot.at>
date Sat, 23 Apr 2011 22:57:32 +0200
parents 81222734adf3
children
line wrap: on
line source

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

// @author@	<deewiant@gmail.com>
// @date@	2006-04-04
// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=85

module dstress.run.i.interface_24_B;

interface I {
	I[] foo();
	int x();
}

class Class : I {
	I[] foo() {
		I[] f = new Class[1];
		f[0] = new Class();
		return f;
	}

	int x() {
		return 1;
	}
}

int main() {
	Class c = new Class();
	I i = c;

	if(c.x() != 1){
		assert(0);
	}

	if(i.x() != 1){
		assert(0);
	}

	I[] ii = c.foo();
	i = ii[0];

	if(i.x() != 1){
		assert(0);
	}

	return 0;
}