summaryrefslogtreecommitdiffstats
path: root/vendor/sized-chunks/src/tests.rs
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);
    }
}