1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
pub trait ToOptionalString {
fn to_optional_string(self) -> Option<String>;
}
impl<T: ToString> ToOptionalString for Option<T> {
fn to_optional_string(self) -> Option<String> {
self.map(|t| t.to_string())
}
}
impl ToOptionalString for &str {
fn to_optional_string(self) -> Option<String> {
Some(self.to_string())
}
}