#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct FencingToken(u64); impl FencingToken { pub const fn new(value: u64) -> Option { if value == 0 { None } else { Some(Self(value)) } } pub const fn get(self) -> u64 { self.0 } }