Copy from druntime available module buth with modifications allowing it's usage in @nogc.
Warning: This is currently used in backtrace printing in which case buffer to demangle into is a
slice to static array (1024B). be aware that this @nogc variant is altered in a way, that it just
asserts in case of more data is needed. Backtrace printing is handled this way in druntime (as
it'll be a problem when demangle'll resize static array slice), so it should be ok for us too.
Just be carefull about that.
All modifications to the original are noted in comments with 'CHANGE:'.
Copy from druntime available module buth with modifications allowing it's usage in @nogc.
Warning: This is currently used in backtrace printing in which case buffer to demangle into is a slice to static array (1024B). be aware that this @nogc variant is altered in a way, that it just asserts in case of more data is needed. Backtrace printing is handled this way in druntime (as it'll be a problem when demangle'll resize static array slice), so it should be ok for us too. Just be carefull about that.
All modifications to the original are noted in comments with 'CHANGE:'.
See: https://github.com/dlang/druntime/blob/master/src/core/demangle.d Last revision from: d2d49ab4930e1ffd3ece6e5a6ea7767a01d5e077