On Wednesday, 15 October 2014 at 03:18:31 UTC, Walter Bright
wrote:
However, the compiler is still going to regard the assert() as
nothrow, so the unwinding from an Exception won't happen until
up stack a throwing function is encountered.
I hate to say it, but I'm inclined to treat nothrow the same as
in C++, which is to basically pretend it's not a part of the
language. The efficiency is nice, but not if it means that
throwing an Error will cause the program to be invalid. Please
tell me there's no plan to change the unwinding behavior when
Error is thrown in standard (ie not nothrow) code.
I touched on all this in my "on errors" thread that seems to have
died. I suppose I could write a DIP but I was hoping for
discussion.