view run/c/class_20_I.d @ 1597:8b9d4d2f925a

Fix typos in complex tests. See D bug 614.
author Christian Kamm <kamm incasoftware de>
date Tue, 09 Sep 2008 16:53:58 +0200
parents f4e98d870b57
children
line wrap: on
line source

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

module dstress.run.c.class_20_I;

interface A{
	int foo();
	int bar();
}

interface B(T) : T{
	int dummy();
	int bar();
}


class C(T) : T, B!(A){
	int foo(){
		return 0;
	}

	int dummy(){
		return 2;
	}

	int bar(){
		return 1;
	}
}

int main(){
	auto c = new C!(A)();

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

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

	if(c.dummy() != 2){
		assert(0);
	}

	A a = c;

	if(a.foo() != 0){
		assert(0);
	}

	if(a.bar() != 1){
		assert(0);
	}

	B!(A) b = c;

	if(b.bar() != 1){
		assert(0);
	}

	if(c.dummy() != 2){
		assert(0);
	}

	return 0;
}