reddish 0.2.0

A Rust utility library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#![allow(dead_code)]

pub fn difference<T: Clone + Eq>(vec: Vec<T>, values: Vec<T>) -> Vec<T> {
  // deduplicate vec and values array
  let mut base_values: Vec<T> = vec.clone();
  let mut exclude_values: Vec<T> = values.clone();

  base_values.dedup();
  exclude_values.dedup();

  // collect difference from right to left
  base_values.retain(|item| !exclude_values.contains(item));

  base_values
}