Re: contracts for external functions?

2010-08-24 Thread Trass3r
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

Re: contracts for external functions?

2010-08-23 Thread 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). At least that's the interface contracts syntax (wonder why there's no ';')

Re: contracts for external functions?

2010-08-23 Thread bearophile
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

contracts for external functions?

2010-08-23 Thread Trass3r
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