trisquel-icecat/icecat/third_party/dump_syms/vendor/symbolic-demangle
2025-07-17 09:32:21 -06:00
..
src icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
vendor/swift icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
.cargo-checksum.json icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
build.rs icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
Cargo.toml icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
README.md icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00

Build Status

symbolic-demangle

Demangling support for various languages and compilers.

Currently supported languages are:

  • C++ (GCC-style compilers and MSVC)
  • Rust (both legacy and v0)
  • Swift (up to Swift 5.2)
  • ObjC (only symbol detection)

As the demangling schemes for the languages are different, the supported demangling features are inconsistent. For example, argument types were not encoded in legacy Rust mangling and thus not available in demangled names.

This module is part of the symbolic crate and can be enabled via the demangle feature.

Examples

use symbolic::common::{Language, Name};
use symbolic::demangle::{Demangle, DemangleOptions};

let name = Name::new("__ZN3std2io4Read11read_to_end17hb85a0f6802e14499E");
assert_eq!(name.detect_language(), Language::Rust);
assert_eq!(name.try_demangle(DemangleOptions::default()), "std::io::Read::read_to_end");

License: MIT