On Friday, 28 July 2017 at 16:44:24 UTC, MysticZach wrote:
On Friday, 28 July 2017 at 11:04:23 UTC, Nick Treleaven wrote:
One option to solve the out contract ambiguity and aid parsing by tools is to require 'do' after out contract expressions.

BTW `do` would only be required before the {} function body - further `in` and `out` clauses also can be used to disambiguate, see below.

One of the main goals of this DIP is to eliminate the need for `body/do` in the common case. It would significantly reduce this DIP's value if it couldn't do that, IMO.

This is subjective. If you put `do` on the end of the line, it is trivial:

in(x > 4)
out(works)
out(r; r.test)
out(flag) do
{
  // body
}

Reply via email to