From c8dffff515c00f4be1227354a2de1c803d30e425 Mon Sep 17 00:00:00 2001 From: J Henry Waugh Date: Sun, 20 Sep 2020 13:07:43 -0500 Subject: [PATCH] Fix clippy::perf lint errors --- src/engine.rs | 4 ++-- src/packages/map_basic.rs | 4 +--- src/parser.rs | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/engine.rs b/src/engine.rs index ad5b1c0a..a35d3458 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -1168,7 +1168,7 @@ impl Engine { .take_immutable_string() .map_err(|_| EvalAltResult::ErrorStringIndexExpr(idx_pos))?; - map.entry(index).or_insert(Default::default()).into() + map.entry(index).or_insert_with(Default::default).into() } else { let index = idx .read_lock::() @@ -2014,6 +2014,6 @@ impl Engine { self.type_names .as_ref() .and_then(|t| t.get(name).map(String::as_str)) - .unwrap_or(map_std_type_name(name)) + .unwrap_or_else(|| map_std_type_name(name)) } } diff --git a/src/packages/map_basic.rs b/src/packages/map_basic.rs index fde57db7..e944bfb7 100644 --- a/src/packages/map_basic.rs +++ b/src/packages/map_basic.rs @@ -46,9 +46,7 @@ mod map_functions { } pub fn fill_with(map1: &mut Map, map2: Map) { map2.into_iter().for_each(|(key, value)| { - if !map1.contains_key(&key) { - map1.insert(key, value); - } + map1.entry(key).or_insert(value); }); } diff --git a/src/parser.rs b/src/parser.rs index d598c7a6..2c0076df 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -3479,7 +3479,7 @@ pub fn map_dynamic_to_expr(value: Dynamic, pos: Position) -> Option { Union::Unit(_) => Some(Expr::Unit(pos)), Union::Int(value) => Some(Expr::IntegerConstant(Box::new((value, pos)))), Union::Char(value) => Some(Expr::CharConstant(Box::new((value, pos)))), - Union::Str(value) => Some(Expr::StringConstant(Box::new((value.clone(), pos)))), + Union::Str(value) => Some(Expr::StringConstant(Box::new((value, pos)))), Union::Bool(true) => Some(Expr::True(pos)), Union::Bool(false) => Some(Expr::False(pos)), #[cfg(not(feature = "no_index"))]