#![allow(unused, clippy::match_single_binding)]
use std::fmt;
#[derive(Clone, Copy, PartialEq)]
pub struct Gender(pub u8);
impl Gender {
pub const FEMALE: Gender = Gender(0);
pub const MALE: Gender = Gender(1);
}
impl Default for Gender {
fn default() -> Self {
Self(u8::MAX)
}
}
impl fmt::Display for Gender {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self.0 {
0 => write!(f, "female"),
1 => write!(f, "male"),
_ => write!(f, "Gender({})", self.0),
}
}
}
impl fmt::Debug for Gender {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self.0 {
0 => write!(f, "Gender::FEMALE(0)"),
1 => write!(f, "Gender::MALE(1)"),
_ => write!(f, "Gender({})", self.0),
}
}
}