DIP 1006 - Preliminary Review Round 1

Martin Nowak code at dawg.eu
Sat Mar 3 16:33:00 UTC 2018


On Sunday, 26 November 2017 at 11:59:28 UTC, Joseph Rushton 
Wakeling wrote:
> One suggestion: replace -release=assert with -release=body, so 
> in the above, you would have:
>
>     -release=body,in,out,invariant

Doesn't really work that way, we can disable assertions, in 
contracts, out contracts, and invariants. But not assertions in 
some contexts while leaving them enabled in other contexts. At 
least not without modifying all related codegen and introducing 
context queries (e.g. think mixin templates).

FWIW -release=assert,in,out,invariant fits out needs well enough.
Just the use-case that someone wants to disable asserts in 
functions but still wants to use contracts, required to use a 
replacement for assert in contracts and invariants.


More information about the Digitalmars-d mailing list