1 2 3 4 5 6 7 8
pub fn take<T>(mut vec: Vec<T>, index: usize) -> Option<T> { if vec.get(index).is_none() { None } else { Some(vec.swap_remove(index)) } }