| #![warn(clippy::map_entry)] | |
| use std::collections::{BTreeMap, HashMap}; | |
| use std::hash::Hash; | |
| macro_rules! m { | |
| ($e:expr) => {{ $e }}; | |
| } | |
| fn foo() {} | |
| fn insert_if_absent0<K: Eq + Hash + Copy, V: Copy>(m: &mut HashMap<K, V>, k: K, v: V, v2: V) { | |
| if !m.contains_key(&k) { | |
| //~^ map_entry | |
| m.insert(k, v); | |
| } else { | |
| m.insert(k, v2); | |
| } | |
| if m.contains_key(&k) { | |
| //~^ map_entry | |
| m.insert(k, v); | |
| } else { | |
| m.insert(k, v2); | |
| } | |
| if !m.contains_key(&k) { | |
| //~^ map_entry | |
| m.insert(k, v); | |
| } else { | |
| foo(); | |
| } | |
| if !m.contains_key(&k) { | |
| //~^ map_entry | |
| foo(); | |
| } else { | |
| m.insert(k, v); | |
| } | |
| if !m.contains_key(&k) { | |
| //~^ map_entry | |
| m.insert(k, v); | |
| } else { | |
| m.insert(k, v2); | |
| } | |
| if m.contains_key(&k) { | |
| //~^ map_entry | |
| if true { m.insert(k, v) } else { m.insert(k, v2) } | |
| } else { | |
| m.insert(k, v) | |
| }; | |
| if m.contains_key(&k) { | |
| //~^ map_entry | |
| foo(); | |
| m.insert(k, v) | |
| } else { | |
| None | |
| }; | |
| } | |
| fn main() {} |