19 lines
342 B
Rust
19 lines
342 B
Rust
|
// run-pass
|
||
|
|
||
|
use std::sync::atomic::*;
|
||
|
|
||
|
static FLAG: AtomicBool = AtomicBool::new(false);
|
||
|
|
||
|
struct NoisyDrop(&'static str);
|
||
|
impl Drop for NoisyDrop {
|
||
|
fn drop(&mut self) {
|
||
|
FLAG.store(true, Ordering::SeqCst);
|
||
|
}
|
||
|
}
|
||
|
fn main() {
|
||
|
{
|
||
|
let _val = &&(NoisyDrop("drop!"), 0).1;
|
||
|
}
|
||
|
assert!(FLAG.load(Ordering::SeqCst));
|
||
|
}
|