On Saturday, 1 April 2017 at 18:56:56 UTC, Guillaume Piolat wrote:
(currently using @nogc exceptions with malloc+emplace and destroy+free)

OK. The important bit imho is that exception don't become special class objects.
ie. "scope new" is not specific to exceptions.
The other @nogc blocker is .destroy

If I understand correctly exceptions are anyway special class objects. A scope Exception wouldn't be allocated in the current scope, but elsewhere, so it can be catched outside the current stack frame. The same as Errors are special class objects, they can be thrown regardless nothrow and @nogc, because these aren't recoverable errors.

Reply via email to