On Thursday, 5 February 2015 at 09:43:53 UTC, Jonathan M Davis
wrote:
There is no such difference in the current implementation.
assertions inside
of in and out blocks are no different from assertions inside of
the
functions themselves with regards to when they are compiled in
or not.
Good point. One problem is that base asserts throw exceptions on
loosening contract on overriding method. Asserts in contracts can
behave differently, e.g. derived contract can call base contract
with a parameter asking to not throw on failure.