tree: 6ced6d0a26dac6b48796f0473d825a9c722458f3 [path history] [tgz]
  1. src/
  2. tests/
  3. Cargo.toml
  4. README.md
src/tools/rust-demangler/README.md

rust-demangler

Demangles rustc mangled names.

rust-demangler supports the requirements of the llvm-cov show -Xdemangler option, to perform Rust-specific symbol demangling:

The demangler is expected to read a newline-separated list of symbols from stdin and write a newline-separated list of the same length to stdout.

To use rust-demangler with llvm-cov for example:

$ TARGET="${PWD}/build/x86_64-unknown-linux-gnu"
$ "${TARGET}"/llvm/bin/llvm-cov show \
  --Xdemangler=path/to/rust-demangler \
  --instr-profile=main.profdata ./main --show-line-counts-or-regions

rust-demangler is a Rust “extended tool”, used in Rust compiler tests, and optionally included in Rust distributions that enable coverage profiling. Symbol demangling is implemented using the rustc-demangle crate.

(Note, for Rust developers, the third-party tool rustfilt also supports llvm-cov symbol demangling. rustfilt is a more generalized tool that searches any body of text, using pattern matching, to find and demangle Rust symbols.)

License

Rust-demangler is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.