diff --git a/src/lib.rs b/src/lib.rs index 4e87301..97c953e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -67,7 +67,6 @@ #![allow( clippy::needless_range_loop, clippy::ptr_arg, - clippy::map_entry, clippy::type_complexity, clippy::too_many_arguments, clippy::many_single_char_names diff --git a/src/svm/svc.rs b/src/svm/svc.rs index f2d518b..4fd70df 100644 --- a/src/svm/svc.rs +++ b/src/svm/svc.rs @@ -300,11 +300,12 @@ impl<'a, T: RealNumber, M: Matrix, K: Kernel> Cache<'a, T, M fn get(&mut self, i: &SupportVector, j: &SupportVector) -> T { let idx_i = i.index; let idx_j = j.index; - if !self.data.contains_key(&(idx_i, idx_j)) { - let v = self.kernel.apply(&i.x, &j.x); - self.data.insert((idx_i, idx_j), v); - } - *self.data.get(&(idx_i, idx_j)).unwrap() + #[allow(clippy::or_fun_call)] + let entry = self + .data + .entry((idx_i, idx_j)) + .or_insert(self.kernel.apply(&i.x, &j.x)); + *entry } fn insert(&mut self, key: (usize, usize), value: T) {