//@ 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); | |
} |