Skip to content

Commit 5eb960c

Browse files
committed
add rustc-demangle assertion on mangled symbol
1 parent be8450e commit 5eb960c

File tree

1 file changed

+10
-2
lines changed
  • compiler/rustc_symbol_mangling/src

1 file changed

+10
-2
lines changed

compiler/rustc_symbol_mangling/src/lib.rs

+10-2
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,18 @@ fn compute_symbol_name(
250250
tcx.symbol_mangling_version(mangling_version_crate)
251251
};
252252

253-
match mangling_version {
253+
let symbol = match mangling_version {
254254
SymbolManglingVersion::Legacy => legacy::mangle(tcx, instance, instantiating_crate),
255255
SymbolManglingVersion::V0 => v0::mangle(tcx, instance, instantiating_crate),
256-
}
256+
};
257+
258+
debug_assert!(
259+
rustc_demangle::try_demangle(&symbol).is_ok(),
260+
"compute_symbol_name: `{}` cannot be demangled",
261+
symbol
262+
);
263+
264+
symbol
257265
}
258266

259267
fn is_generic(substs: SubstsRef<'_>) -> bool {

0 commit comments

Comments
 (0)