fn count_occur(v: &Vec<i32>, val: i32) -> usize {
v.into_iter().filter(|&&x| x == val).count()
}
fn main() -> () {
let v1 : Vec<i32> = vec![1,2,3, 4,5,6];
for &item in &v1 {
count_occur(&v1, item);
}
}
Can someone explain me why does lambda
need to take &&x
(I mean why double reference is necessary - I cannot see why an element passed to the lambda is a reference to a reference)