1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
pub trait NoneOrEmpty {
fn is_none_or_empty(&self) -> bool;
}
impl<T: NoneOrEmpty> NoneOrEmpty for &T {
fn is_none_or_empty(&self) -> bool {
(*self).is_none_or_empty()
}
}
impl<T: NoneOrEmpty> NoneOrEmpty for Option<T> {
fn is_none_or_empty(&self) -> bool {
self.is_none() || self.as_ref().unwrap().is_none_or_empty()
}
}