On Wednesday, 30 July 2014 at 22:01:23 UTC, Walter Bright wrote:
I'd like to sum up my position and intent on all this.

1. I can discern no useful, practical difference between the notions of assume and assert.

People have explained the difference repeatedly, a ridiculous number of times now. Could you please take a minute to understand it this time instead of flippantly dismissing it again?

assert does a runtime check, assume does not
assume affects code generation/optimization, assert does not
assert is for debugging, assume is not
assume is for optimization, assert is not

In terms of what they practically do, they have *nothing* in common, their functions are entirely orthogonal.

Still think there is no practical difference?

2. The compiler can make use of assert expressions to improve optimization, even in -release mode.

This will introduce a lot of undefined behavior, including making @safe code with asserts unsafe. I really think this needs to be acknowledged. As far as I can tell from the other thread, it still hasn't been.

Reply via email to