let squares: Vec<_> = numbers.iter().filter(x => x >= 0).map(x => x * x).collect();
let squares: Vec<_> = numbers.iter().filter(|&&x| x >= 0).map(|x| x * x).collect();