I have an enum that I need to map to strings:
enum Visibility {
Hidden,
AfterDueDate,
AfterPublished,
Visible, // default
}
impl fmt::Display for Visibility {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let printable = match *self {
Visibility::Hidden => "hidden",
Visibility::AfterDueDate => "after_due_date",
Visibility::AfterPublished => "after_published",
Visibility::Visible => "visible",
};
write!(f, "{:?}", printable)
}
}
Surely there is some programmatic way to do this?