计数选项集合中出现次数的惯用方式

我想计算选项集合中某个值出现的次数。

let v = vec![Some(1), Some(1), Some(3), None];
v.iter()
 .filter(|Some(x)| x == &1)
 .count();

Doing this gives refutable pattern not covered error which makes sense.

我通过这样做解决了

v.iter()
 .filter(|x| x.is_some() && x.unwrap() == &1)
 .count()

锈蚀的惯用方式是什么?