On Monday, 6 April 2015 at 05:15:43 UTC, Walter Bright wrote:
I read the code to figure out what was happening.

At some point, -release was changed so that bounds checking was turned off for all but @safe code. A new switch was added, -boundscheck=[on|safeonly|off]. It took me a while to find it at:

http://dlang.org/dmd-linux.html

because whoever added it didn't realize that the list was alphabetized and stuck it in there after -map.

I don't know why the change was made.

I thought this was how bounds checking always worked. On in debug mode, off in everything except @safe code in release mode. I thought -release implied no contract checking, no asserts, AND no bounds checking.

Reply via email to