On Tuesday, 29 July 2014 at 06:35:06 UTC, Daniel Murphy wrote:
The idea is you test your code with assertions enabled, and then only use '-release' when you are sure your program functions correctly.

If you are doing critical work or do not trust program input, either do not disable assertions or use a tool like enforce that does not get disabled in release mode.

This is what makes D design by contract almost useless when writing network services :( Unless you have 100% code coverage (and I mean literally 100%) you can't be sure enough to disable assertions with arbitrary user input. And even if you have full coverage you still can't be sure

I guess that qualifies as "critical work" but, really, any work is critical when failure results in money loss.

Reply via email to