middle: use filter_map instead of flat_map with Option iters

This commit is contained in:
Georg Brandl 2015-08-30 17:14:23 +02:00
parent 9e9c83b899
commit a88659d8a6

View File

@ -92,14 +92,13 @@ fn object_safety_violations_for_trait<'tcx>(tcx: &ty::ctxt<'tcx>,
// Check methods for violations.
let mut violations: Vec<_> =
tcx.trait_items(trait_def_id).iter()
.flat_map(|item| {
.filter_map(|item| {
match *item {
ty::MethodTraitItem(ref m) => {
object_safety_violation_for_method(tcx, trait_def_id, &**m)
.map(|code| ObjectSafetyViolation::Method(m.clone(), code))
.into_iter()
}
_ => None.into_iter(),
_ => None,
}
})
.collect();