On Friday, 24 May 2019 at 11:41:12 UTC, Atila Neves wrote:
I'd been holding off on announcing this until DIP1008 actually
got implemented, and now it has:
https://code.dlang.org/packages/nogc
This dub package has a @nogc version of `std.conv.text` (which
probably isn't as good yet) that, instead of returning a
`string` returns an `automem.vector.Vector` of char. This
handles managing memory allocation for the exception message
itself in `NoGcException`, which does what it says on the tin.
Confused? Here's some code:
Ok, so exceptions don't rely on the GC anymore. That's super
cool. However, they are still classes. So does that mean they
also need RTTI (i.e. TypeInfo)? BetterC builds and some of use
trying to use D in a pay-as-you-go fashion intentionally
eliminate RTTI from the runtime. Is there any way we can take
this a bit further to no longer require RTTI? Do exceptions even
necessarily need to be classes?
Thanks,
Mike