3 stable releases

1.1.1 Apr 2, 2020
1.1.0 Dec 19, 2019
1.0.9 Sep 16, 2019

#1704 in Hardware support

Download history 4/week @ 2023-12-17 4/week @ 2023-12-24 13/week @ 2024-02-11 15/week @ 2024-02-18 79/week @ 2024-02-25 19/week @ 2024-03-03 17/week @ 2024-03-10 18/week @ 2024-03-17

133 downloads per month
Used in 7 crates (2 directly)

Custom license

44KB
1K SLoC

Note

Please visit our homepage for usage. Thanks!


lib.rs:

Demangle Rust compiler symbol names.

This crate provides a demangle function which will return a Demangle sentinel value that can be used to learn about the demangled version of a symbol name. The demangled representation will be the same as the original if it doesn't look like a mangled symbol name.

Demangle can be formatted with the Display trait. The alternate modifier (#) can be used to format the symbol name without the trailing hash value.

Examples

use rustc_demangle::demangle;

assert_eq!(demangle("_ZN4testE").to_string(), "test");
assert_eq!(demangle("_ZN3foo3barE").to_string(), "foo::bar");
assert_eq!(demangle("foo").to_string(), "foo");
// With hash
assert_eq!(format!("{}", demangle("_ZN3foo17h05af221e174051e9E")), "foo::h05af221e174051e9");
// Without hash
assert_eq!(format!("{:#}", demangle("_ZN3foo17h05af221e174051e9E")), "foo");

No runtime deps