about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2018-08-15 19:20:21 +0200
committerGitHub <noreply@github.com>2018-08-15 19:20:21 +0200
commitb941c8e7fb5f4bea759ef0937c82fce3a1fd1220 (patch)
tree2435df093dfe792d6068e4d0a6291375e766c795
parentd8815cfe7daf571617ddd0eeecdf8cb9041b893a (diff)
parent05ddad37d19bd32b8ef75464640c8b0e6a6e1516 (diff)
downloadrust-b941c8e7fb5f4bea759ef0937c82fce3a1fd1220.tar.gz
rust-b941c8e7fb5f4bea759ef0937c82fce3a1fd1220.zip
Rollup merge of #53271 - llogiq:simplify-maybe-map, r=joshtriplett
use ? to simplify `TransitiveRelation.maybe_map`

I think this looks much clearer than the original.
-rw-r--r--src/librustc_data_structures/transitive_relation.rs7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/librustc_data_structures/transitive_relation.rs b/src/librustc_data_structures/transitive_relation.rs
index 18a1e9129b3..2acc29acb0c 100644
--- a/src/librustc_data_structures/transitive_relation.rs
+++ b/src/librustc_data_structures/transitive_relation.rs
@@ -97,12 +97,7 @@ impl<T: Clone + Debug + Eq + Hash> TransitiveRelation<T> {
     {
         let mut result = TransitiveRelation::new();
         for edge in &self.edges {
-            f(&self.elements[edge.source.0]).and_then(|source| {
-                f(&self.elements[edge.target.0]).and_then(|target| {
-                    result.add(source, target);
-                    Some(())
-                })
-            })?;
+            result.add(f(&self.elements[edge.source.0])?, f(&self.elements[edge.target.0])?);
         }
         Some(result)
     }