On Thursday, 31 July 2014 at 19:36:34 UTC, H. S. Teoh via Digitalmars-d wrote:
On Thu, Jul 31, 2014 at 03:43:48PM -0300, Ary Borenszweig via Digitalmars-d wrote:
On 7/31/14, 4:37 AM, Walter Bright wrote:
>On 7/30/2014 4:05 PM, Ary Borenszweig wrote:
>>On 7/30/14, 7:01 PM, Walter Bright wrote:
>>>I'd like to sum up my position and intent on all this.
>>>
>>>7. using enforce() to check for program bugs is utterly >>>wrong.
>>>enforce() is a library creation, the core language does not
>>>recognize it.
>>
>>What do you suggest to use to check program bugs?
>
>assert()

Then you are potentially releasing programs with bugs that are of
undefined behavior, instead of halting the program immediately.

Isn't that already what you're doing with the current behaviour of
assert? Not only in D, but also in C/C++.

Yes, but I think that his point was that he wants a way to check programming bugs in release mode, and Walter was saying not to use enforce for checking programming bugs. So, that leaves the question of how to check them in release mode, since assertions won't work in release mode. But the answer to that is normally to not compile in release mode. And I believe that dmd gives enough control over that that you can get everything that -release does without disabling assertions using flags other than -release.

- Jonathan M Davis

Reply via email to