John Regehr on "Use of Assertions"

Walter Bright newshound2 at digitalmars.com
Sat Sep 1 20:15:15 UTC 2018


https://blog.regehr.org/archives/1091

As usual, John nails it in a particularly well-written essay.

"ASSERT(expr)
Asserts that an expression is true. The expression may or may not be evaluated.
If the expression is true, execution continues normally.
If the expression is false, what happens is undefined."

Note the "may or may not be evaluated." We've debated this here before. I'm 
rather pleased that John agrees with me on this. I.e. the optimizer can assume 
the expression is true and use that information to generate better code, even if 
the assert code generation is turned off.


More information about the Digitalmars-d mailing list