use core::mem::ManuallyDrop; | |
#[test] | |
fn smoke() { | |
struct TypeWithDrop; | |
impl Drop for TypeWithDrop { | |
fn drop(&mut self) { | |
unreachable!("Should not get dropped"); | |
} | |
} | |
let x = ManuallyDrop::new(TypeWithDrop); | |
drop(x); | |
// also test unsizing | |
let x : Box<ManuallyDrop<[TypeWithDrop]>> = | |
Box::new(ManuallyDrop::new([TypeWithDrop, TypeWithDrop])); | |
drop(x); | |
} |