use std::fmt;
#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct TodoId(std::num::NonZeroU64);
impl TodoId {
#[must_use]
pub fn from_raw(n: u64) -> Option<Self> {
std::num::NonZeroU64::new(n).map(TodoId)
}
#[must_use]
pub const fn as_u64(self) -> u64 {
self.0.get()
}
}
impl fmt::Display for TodoId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
self.0.fmt(f)
}
}