Hello Michel,

Theoretically, I think you should be able to avoid GC calls in a
function by using nothrow:

void func() nothrow {
auto a = new char[1]; // error: may throw
}
Unfortunately, it doesn't seem to always work:

void func(string a, string b) nothrow {
auto c = a ~ b; // no error?
}
But that's probably just a bug somewhere.


IIRC there was a big long thread on if allocation failure was a fatal enough error to throw anyway with something that you aren't supposed to catch.


Reply via email to