On Thursday, 5 August 2021 at 11:01:56 UTC, Adam D Ruppe wrote:
On Thursday, 5 August 2021 at 09:18:08 UTC, wjoe wrote:
If it's to be determined whether or not the code is being compiled in debug or release mode, i.e. e.g. the dmd ```-release```

You should never use the -release flag. It should be renamed to "-enable-security-holes" since that's what it actually does.


This is good advice. Actually I had no intention to *use* the ```-release``` option. My question was aimed at getting an understanding of the different version identifiers and how they are affected by the command line options in order to be able to pick one that reflects the users expectations.
My wording should have been better. Sorry for the confusion.

Instead you can disable specific things as-needed, but.... it is probably never needed. These are also never supposed to actually change the behavior of your program, but in reality, like I said they do tend to change it - by enabling security holes.

However isn't the point of using version identifiers and these options to actually change the behavior of the program ? I mean if bounds checking is enabled I expect the program to behave differently, i.e. to abort if something is out of bounds.

Reply via email to