scope(exit) stuff;
otherStuff;

is lowered to something like

try
{
    otherStuff;
}
finally
{
    stuff;
}

And if otherStuff is marked all nothrow, then the exception parts are pulled out. It's pretty much the entire point of
having nothrow annotations.

This should be added to
http://dlang.org/function.html#nothrow-functions

Reply via email to