Rollup merge of #85534 - csmoe:demagnle-assert, r=michaelwoerister

add rustc-demangle assertion on mangled symbol

cc https://github.com/rust-lang/rust/issues/60705#issuecomment-844880365
r? `@michaelwoerister`
This commit is contained in:
Guillaume Gomez 2021-08-29 16:25:28 +02:00 committed by GitHub
commit 63cfbf5d9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -246,10 +246,18 @@ fn compute_symbol_name(
tcx.symbol_mangling_version(mangling_version_crate)
};
match mangling_version {
let symbol = match mangling_version {
SymbolManglingVersion::Legacy => legacy::mangle(tcx, instance, instantiating_crate),
SymbolManglingVersion::V0 => v0::mangle(tcx, instance, instantiating_crate),
}
};
debug_assert!(
rustc_demangle::try_demangle(&symbol).is_ok(),
"compute_symbol_name: `{}` cannot be demangled",
symbol
);
symbol
}
fn is_generic(substs: SubstsRef<'_>) -> bool {