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.
This is not guaranteed to happen for Errors either, which is part of the reason why you should pretty much never catch them.
— David
