//@ compile-flags: -O #![crate_type = "lib"] struct A; impl Drop for A { fn drop(&mut self) { extern "C" { fn foo(); } unsafe { foo(); } } } #[no_mangle] pub fn a(a: Box) { // CHECK-LABEL: define{{.*}}void @a // CHECK: call void @__rust_dealloc // CHECK-NEXT: call void @foo let _a = A; drop(a); }