mirror of
https://git.proxmox.com/git/rustc
synced 2025-05-02 15:58:10 +00:00
20 lines
421 B
Rust
20 lines
421 B
Rust
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);
|
|
}
|