How do I use in contract with interface?

Dr. Assembly netorib94 at gmail.com
Wed Nov 15 14:43:33 UTC 2017


I'm learning to use interface with contracts. In below code, in 
isn't being "called". Can someone point out why? what am I doing 
wrong?

void main() {
	C c = new C();
	writeln(c.foo(1));
}

interface I
{
	int foo(int i)
		in { assert(i > 2); }
		out (result) { assert(result != 0); }

	void baa();
}

class C : I
{
	int foo(int i) {
		return i * 2;
	}

	void baa() {
		writeln("Hello!");
	}
}


More information about the Digitalmars-d-learn mailing list