24 lines
349 B
Rust
24 lines
349 B
Rust
struct Foo;
|
|
impl Drop for Foo {
|
|
fn drop(&mut self) {
|
|
unsafe {
|
|
FOO = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
static mut FOO: bool = false;
|
|
|
|
enum Bar {
|
|
A(Box<i32>),
|
|
B(Foo),
|
|
}
|
|
|
|
fn main() {
|
|
assert!(unsafe { !FOO });
|
|
drop(Bar::A(Box::new(42)));
|
|
assert!(unsafe { !FOO });
|
|
drop(Bar::B(Foo));
|
|
assert!(unsafe { FOO });
|
|
}
|