rust-lang / rust-lang/rustc-demangle

Fails to demangle symbols conforming to the v0 mangling specification

Open
#84 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
319
Forks
69
PR merge metrics
No merged PRs in 30d

Description

The current crates.io release and git version of rustc-demangle fails to demangle symbols that make use of the vendor-specific suffix.

For example, the symbol _RNvNvNvCs7qp2U7fqm6G_7mycrate7EXAMPLE7___getit5___KEY$tlv$init does not get demangled by demangle_stream. Removing the $ suffix does make the demangling work, with the resulting symbol being mycrate::EXAMPLE::__getit::__KEY.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the demangle_stream entry point and compare handling of the vendor-specific $ suffix with the v0 mangling example in the issue. Reproduce the provided symbol and verify that it demangles to mycrate::EXAMPLE::__getit::__KEY while preserving the suffix handling.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.