extern(C) int foo(int i)
in { assert(i > 7); }
out (result) { assert(result & 1); }
http://d.puremagic.com/issues/show_bug.cgi?id=4720
extern(C) int foo(int i)
in { assert(i > 7); }
out (result) { assert(result & 1); }
A nice idea to remember (regardless the syntax used to do it).
At least that's the interface contracts syntax (wonder why there's no ';')
Trass3r:
> extern(C) int foo(int i)
>in { assert(i > 7); }
>out (result) { assert(result & 1); }
A nice idea to remember (regardless the syntax used to do it).
Bye,
bearophile
The Matlab C headers provide some kind of hand-crafted contracts by
defining extra functions with suffix "_d" that check all the arguments and
then detouring the calls to the original functions via the preprocessor
(#define foo foo_d)
Of course I could do it the same way, but wouldn't it be