blob: e97900fe27361cfae66af793b3cf31bd48b06449 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
use std::sync::atomic::{AtomicUsize, Ordering};
pub(crate) struct DropTest<'a> {
counter: &'a AtomicUsize,
}
impl<'a> DropTest<'a> {
pub(crate) fn new(counter: &'a AtomicUsize) -> Self {
counter.fetch_add(1, Ordering::Relaxed);
DropTest { counter }
}
}
impl<'a> Drop for DropTest<'a> {
fn drop(&mut self) {
self.counter.fetch_sub(1, Ordering::Relaxed);
}
}
|