#![allow(unused_variables)] fn main() { let vec = vec![13usize; 1024]; let _ = vec .into_iter() .enumerate() .filter_map(|(idx, val)| if idx % 2 == 0 { Some(val + idx) } else { None }) .collect::>(); let mut vec = vec![13usize; 1024]; let mut write_idx = 0; for idx in 0..vec.len() { if idx % 2 == 0 { vec[write_idx] = vec[idx] + idx; write_idx += 1; } } vec.truncate(write_idx); }