From 4d9c582142888ee000d322d22c2828a50a86a6f1 Mon Sep 17 00:00:00 2001 From: sholderbach Date: Thu, 25 Jul 2024 22:35:10 +0200 Subject: [PATCH] Change a hashmap to make clippy happy This seems to be a sad false positive, instead I rewrote the function returning the hashmap to use `&str` keys instead --- crates/nu-cli/src/util.rs | 14 ++++---------- crates/nu-protocol/src/engine/engine_state.rs | 6 +++--- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/crates/nu-cli/src/util.rs b/crates/nu-cli/src/util.rs index bcee53c9b0..e912bceb5f 100644 --- a/crates/nu-cli/src/util.rs +++ b/crates/nu-cli/src/util.rs @@ -321,16 +321,10 @@ mod test { let env = engine_state.render_env_vars(); - assert!( - matches!(env.get(&"FOO".to_string()), Some(&Value::String { val, .. }) if val == "foo") - ); - assert!( - matches!(env.get(&"SYMBOLS".to_string()), Some(&Value::String { val, .. }) if val == symbols) - ); - assert!( - matches!(env.get(&symbols.to_string()), Some(&Value::String { val, .. }) if val == "symbols") - ); - assert!(env.get(&"PWD".to_string()).is_some()); + assert!(matches!(env.get("FOO"), Some(&Value::String { val, .. }) if val == "foo")); + assert!(matches!(env.get("SYMBOLS"), Some(&Value::String { val, .. }) if val == symbols)); + assert!(matches!(env.get(symbols), Some(&Value::String { val, .. }) if val == "symbols")); + assert!(env.contains_key("PWD")); assert_eq!(env.len(), 4); } } diff --git a/crates/nu-protocol/src/engine/engine_state.rs b/crates/nu-protocol/src/engine/engine_state.rs index e2409debe3..7c7cfb9bb5 100644 --- a/crates/nu-protocol/src/engine/engine_state.rs +++ b/crates/nu-protocol/src/engine/engine_state.rs @@ -428,13 +428,13 @@ impl EngineState { .1 } - pub fn render_env_vars(&self) -> HashMap<&String, &Value> { - let mut result = HashMap::new(); + pub fn render_env_vars(&self) -> HashMap<&str, &Value> { + let mut result: HashMap<&str, &Value> = HashMap::new(); for overlay_name in self.active_overlay_names(&[]) { let name = String::from_utf8_lossy(overlay_name); if let Some(env_vars) = self.env_vars.get(name.as_ref()) { - result.extend(env_vars); + result.extend(env_vars.iter().map(|(k, v)| (k.as_str(), v))); } }