Tomasz Sowiński wrote:
<snip>
I like removing "body". But maybe we can make contracts a bit nicer by removing 
braces if the contract contains only one statement:

void foo()
in assert(something);
out assert(something_else);
{ ... }

would that be ambiguous to the compiler?

Probably not, but I'm not sure I like it at all. Firstly, it reminds me of the old crocky C syntax for declaring parameter types. Secondly, if we're going to allow contracts on abstract/interface functions, would you need to write two semicolons in a row with this syntax?

(Maybe there's no need for a semicolon in lieu of the body in such cases. It's just what the compiler used to allow, though it never actually did anything with the contracts.)

Stewart.

Reply via email to