1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
#[derive(Debug, Eq, PartialEq, Copy, Clone)] pub enum Category { Fixed, Select, Lorem, Name, Primitive, Internet, Company, Address, DateTime, FileSystem, } impl Category { pub fn all_list() -> Vec<Self> { use Category::*; vec![ Fixed, Select, Lorem, Name, Primitive, Internet, Company, Address, DateTime, FileSystem, ] } } impl std::fmt::Display for Category { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { use Category::*; let s: String = match self { Fixed => "Fixed", Select => "Select", Lorem => "Lorem", Name => "Name", Primitive => "Primitive", Internet => "Internet", Company => "Company", Address => "Address", DateTime => "DateTime", FileSystem => "FileSystem", } .to_string(); write!(f, "{}", s) } }