I want to write code like this:
let mut v: Vec = Vec::new(); for e in v.iter_mut() { if e.some_predicate() { e.val = v.iter().filter(|o| o.som