Skip to content

Commit

Permalink
Simplify based on eddyb's comment
Browse files Browse the repository at this point in the history
  • Loading branch information
bjorn3 committed Dec 17, 2020
1 parent 0bf75fb commit 4a48d68
Showing 1 changed file with 9 additions and 21 deletions.
30 changes: 9 additions & 21 deletions compiler/rustc_symbol_mangling/src/legacy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,28 +55,16 @@ pub(super) fn mangle(

let hash = get_symbol_hash(tcx, instance, instance_ty, instantiating_crate);

if let ty::InstanceDef::DropGlue(_drop_in_place, ty) = instance.def {
// Use `{{drop}}::<$TYPE>::$hash` as name for the drop glue instead of
// `core::mem::drop_in_place::$hash`.
let mut printer =
SymbolPrinter { tcx, path: SymbolPath::new(), keep_within_component: false };
printer.write_str("{{drop}}").unwrap();
printer.path.finalize_pending_component();
let printer = printer
.generic_delimiters(|mut printer| {
if let Some(ty) = ty {
printer.print_type(ty)
} else {
printer.write_str("_")?;
Ok(printer)
}
})
.unwrap();
return printer.path.finish(hash);
}

let mut printer = SymbolPrinter { tcx, path: SymbolPath::new(), keep_within_component: false }
.print_def_path(def_id, &[])
.print_def_path(
def_id,
if let ty::InstanceDef::DropGlue(_, _) = instance.def {
// Add the name of the dropped type to the symbol name
&*instance.substs
} else {
&[]
},
)
.unwrap();

if let ty::InstanceDef::VtableShim(..) = instance.def {
Expand Down

0 comments on commit 4a48d68

Please sign in to comment.