On 12.04.2017 17:16, Mathias Lang wrote:


Addressing Daniel Kozak's question as well here:

Providing `-release` on the command line has the following effect:
- Disable invariants,
- Disable in and out,
- Disable assert,

Actually, (at least) asserts are turned into compiler hints (i.e. potential UB).


- Disable switch error [1]
...

I have missed that one.

Note that it also implies -boundscheck=safeonly.

Which `-contract` just allows more control on.

TL;DR: It affects all build. It's a subset of `-release`, so passing
`-contracts=whatever` and `-release` has the same effect as passing
`-release`.


It's not a subset unless "disable" can mean "turn failures into undefined behaviour".

Reply via email to