On Saturday, 7 November 2015 at 20:49:49 UTC, anonymous wrote:
On 07.11.2015 21:38, Fyodor Ustinov wrote:
1. I should generally _not_, but I _can_.

D lets you to shoot your own foot, yes. You're encouraged not to do it, though.
It's my opinion - shoot to my foot or not and select preffered weapon for it. :)

2. Without "-release" assert(0) launches scope(exit), scope(failure) and "finally" blocks. I.e. we get a completely different behavior in
"-release" and not "-release" mode.

Yeah, -release drastically changes how asserts behave. That's its purpose. A program should not fail asserts. If it does, that's a bug. In particular, assert(0) should never be reached. If it is reached, that's a bug.

We do not have way to in "scope(failure)" or "scope(exit)" detect - it's "assert" or "throw".

P.S.
I do not argue, "assert" - it's catch for fundamental programmers bug.

Reply via email to