diff --git a/src/utils.rs b/src/utils.rs index a9753493..17d94976 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -19,10 +19,7 @@ pub fn select_option_by_clone(a: &Option, b: &Option) -> Option where T: Clone, { - match a { - Some(_a) => Some(_a.clone()), - None => b.clone(), - } + a.as_ref().cloned().or_else(|| b.clone()) } pub fn option_owned_by_clone(a: Option<&T>) -> Option @@ -33,10 +30,7 @@ where } pub fn merge_option(a: Option, b: Option) -> Option { - match a { - Some(v) => Some(v), - None => b, - } + a.or(b) } pub fn get_bool_from_string(s: &Option, default: bool) -> bool {