// 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; let _ = Box::new(NonEmptyDrop) as Box; }