use std::fmt; mod static_string; use static_string::StaticString; pub enum FieldType { StaticString(StaticString), } impl fmt::Display for FieldType { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { FieldType::StaticString(data) => write!(f, "{}", data), } } } impl From for FieldType { fn from(data: StaticString) -> Self { FieldType::StaticString(data) } } #[cfg(test)] mod converstion { use super::*; #[test] fn from_static_string() { let data = "a static string"; let field = StaticString::new(data); let ftype: FieldType = field.into(); assert!( ftype.to_string() == data, "\n\nGot: {}\nWant: {}", ftype.to_string(), data ); } }