pub mod character; pub use character::*; pub mod item; pub use item::*; pub mod time; pub use time::*; #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Noun { Item(Item), CharacterUnmasked(CharacterUnmasked), Time(Time), } impl std::fmt::Display for Noun { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { Self::Item(x) => write!(f, "{:?}", x), Self::CharacterUnmasked(x) => write!(f, "{:?}", x), Self::Time(x) => write!(f, "{:?}", x), } } }