sess: default to v0 symbol mangling · rust-lang/rust@4f1bf2a (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Commit 4f1bf2a

sess: default to v0 symbol mangling

Rust's current mangling scheme depends on compiler internals; loses information about generic parameters (and other things) which makes for a worse experience when using external tools that need to interact with Rust symbol names; is inconsistent; and can contain `.` characters which aren't universally supported. Therefore, Rust has defined its own symbol mangling scheme which is defined in terms of the Rust language, not the compiler implementation; encodes information about generic parameters in a reversible way; has a consistent definition; and generates symbols that only use the characters `A-Z`, `a-z`, `0-9`, and `_`. Support for the new Rust symbol mangling scheme has been added to upstream tools that will need to interact with Rust symbols (e.g. debuggers). This commit changes the default symbol mangling scheme from the legacy scheme to the new Rust mangling scheme. Signed-off-by: David Wood david.wood@huawei.com

File tree

1 file changed

lines changed

1 file changed

lines changed

Original file line number Diff line number Diff line change
@@ -756,7 +756,7 @@ impl DebuggingOptions {
756 756 }
757 757
758 758 pub fn get_symbol_mangling_version(&self) -> SymbolManglingVersion {
759 -self.symbol_mangling_version.unwrap_or(SymbolManglingVersion::Legacy)
759 +self.symbol_mangling_version.unwrap_or(SymbolManglingVersion::V0)
760 760 }
761 761 }
762 762