#[cfg(debug_assertions)]
use std::cell::Cell;
#[derive(Debug, Default)]
pub struct DebugCounter {
#[cfg(debug_assertions)]
val: Cell<usize>,
}
impl DebugCounter {
pub fn new() -> Self {
Default::default()
}
#[cfg(debug_assertions)]
pub fn inc(&self) {
self.val.set(self.val.get() + 1);
}
#[cfg(not(debug_assertions))]
pub fn inc(&self) {}
#[cfg(debug_assertions)]
pub fn get(&self) -> usize {
self.val.get()
}
#[cfg(not(debug_assertions))]
pub fn get(&self) -> usize {
panic!("Tried to get debug counter in release mode.")
}
}