Demangling C++ Symbols in Rust
LLVMs libcxxabi has a demangler which doesn&#x27;t have the worst looking code in the world[0], has no external dependencies (outside of the  C++ standard library), has lately been fuzzed[1] and is tested[2].<p>Switching languages is cool, but the Rust code is actually longer and still uses a hand written parser, so how can you be sure it is any more <i>correct</i> or won&#x27;t eat all your memory?<p>[0] <a href="http:&#x2F;&#x2F;llvm.org&#x2F;viewvc&#x2F;llvm-project&#x2F;libcxxabi&#x2F;trunk&#x2F;src&#x2F;cxa_demangle.cpp?revision=293638&amp;view=markup" rel="nofollow">http:&#x2F;&#x2F;llvm.org&#x2F;viewvc&#x2F;llvm-project&#x2F;libcxxabi&#x2F;trunk&#x2F;src&#x2F;cxa_...</a><p>[1] <a href="http:&#x2F;&#x2F;llvm.org&#x2F;viewvc&#x2F;llvm-project&#x2F;libcxxabi&#x2F;trunk&#x2F;fuzz&#x2F;cxa_demangle_fuzzer.cpp?revision=290650&amp;view=markup" rel="nofollow">http:&#x2F;&#x2F;llvm.org&#x2F;viewvc&#x2F;llvm-project&#x2F;libcxxabi&#x2F;trunk&#x2F;fuzz&#x2F;cxa...</a><p>[2] <a href="http:&#x2F;&#x2F;llvm.org&#x2F;viewvc&#x2F;llvm-project&#x2F;libcxxabi&#x2F;trunk&#x2F;test&#x2F;test_demangle.pass.cpp?revision=293638&amp;view=markup" rel="nofollow">http:&#x2F;&#x2F;llvm.org&#x2F;viewvc&#x2F;llvm-project&#x2F;libcxxabi&#x2F;trunk&#x2F;test&#x2F;tes...</a>