about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2015-08-30 17:14:23 +0200
committerGeorg Brandl <georg@python.org>2015-09-03 17:54:59 +0200
commita88659d8a61ca0d39371e058da2762c2ed8a52c2 (patch)
treed745db1b2bd0734eca2fa7a6c33cca56d21b5dc7
parent9e9c83b8994fab4f69fc75838c8c856b57caa5d1 (diff)
downloadrust-a88659d8a61ca0d39371e058da2762c2ed8a52c2.tar.gz
rust-a88659d8a61ca0d39371e058da2762c2ed8a52c2.zip
middle: use filter_map instead of flat_map with Option iters
-rw-r--r--src/librustc/middle/traits/object_safety.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/librustc/middle/traits/object_safety.rs b/src/librustc/middle/traits/object_safety.rs
index 3c6e939833f..3a2602cd5b4 100644
--- a/src/librustc/middle/traits/object_safety.rs
+++ b/src/librustc/middle/traits/object_safety.rs
@@ -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();