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!");
        }
}

Reply via email to