I think this goes hand with hand with the compile time assert thing.
int foo()
out (result) { assert(result!=0); }
body { return 0; }
Obviously the contract is violated and always will, but it still compiles.
Can't these kind of things be detected at compile time?
The other thing, if we already have 'result' for out contracts, why not also
having them for the entire function body?
-------------------------
Carlos Santander
---
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.516 / Virus Database: 313 - Release Date: 2003-09-01