1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
use crate::KeySet; use std::fmt::Debug; pub fn clean_vec<T: Ord>(mut list: Vec<T>) -> Vec<T> { list.sort(); list.dedup(); list } pub fn make_some_with<T>(vec: Vec<T>) -> KeySet<T> where T: Ord + Debug + Clone, { if vec.len() == 0 { KeySet::None } else { KeySet::Some(vec) } } pub fn make_all_except_some_with<T>(vec: Vec<T>) -> KeySet<T> where T: Ord + Debug + Clone, { if vec.len() == 0 { KeySet::All } else { KeySet::AllExceptSome(vec) } }