Demangling for Rust symbols, written in Rust.
You can add this as a dependency via your Cargo.toml
[dependencies]
rustc-demangle = "0.1"
and then be sure to check out the crate documentation for usage.
You can also use this crate from other languages via the C API wrapper in the
crates/capi
directory. This can be build with:
$ cargo build -p rustc-demangle-capi --release
You'll then find target/release/librustc_demangle.a
and
target/release/librustc_demangle.so
(or a different name depending on your
platform). These objects implement the interface specified in
crates/capi/include/rustc_demangle.h
.
If your build system does not support Rust, there is also a mostly-identical
C version in the crates/native-c
which you can use via copy-paste or as
a git submodule. Read crates/native-c/README.md
for more details. It is
likely to be less supported than the Rust version, so it is better to use
the Rust version if your build system supports it.
Both the Rust and C versions don't require memory allocation or any other operating-system support.
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in rustc-demangle you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.