Andrei Alexandrescu wrote:
>    void push(T value);
>    in {
>       auto oldLength = length();
>    }
>    out {
>       assert(value == top());
>       assert(length == oldLength + 1);
>    }

Another keyword abuse:

void push(T value);
in {
    auto in.oldLength = length();
}
out {
    assert(value == top());
    assert(length == in.oldLength + 1);
}

Reply via email to