// Verifies that drops can be called on arbitrary trait objects. | |
// | |
// FIXME(#122848): Remove only-linux when fixed. | |
//@ only-linux | |
//@ needs-sanitizer-cfi | |
//@ compile-flags: -Clto -Copt-level=0 -Cprefer-dynamic=off -Ctarget-feature=-crt-static -Zsanitizer=cfi | |
//@ run-pass | |
struct EmptyDrop; | |
struct NonEmptyDrop; | |
impl Drop for NonEmptyDrop { | |
fn drop(&mut self) {} | |
} | |
fn main() { | |
let _ = Box::new(EmptyDrop) as Box<dyn Send>; | |
let _ = Box::new(NonEmptyDrop) as Box<dyn Send>; | |
} |