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
}