Я хочу посчитать количество вхождений значения в коллекцию опций.
let v = vec![Some(1), Some(1), Some(3), None];
v.iter()
.filter(|Some(x)| x == &1)
.count();
Это дает ошибку refutable pattern not covered
, которая имеет смысл.
Я справился с этим, сделав
v.iter()
.filter(|x| x.is_some() && x.unwrap() == &1)
.count()
Какой идиоматический способ сделать это в ржавчине?