// no-system-llvm | |
// 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<i32>) { | |
// CHECK-LABEL: define{{.*}}void @a | |
// CHECK: call void @__rust_dealloc | |
// CHECK-NEXT: call void @foo | |
let _a = A; | |
drop(a); | |
} |