use ? to simplify TransitiveRelation.maybe_map

This commit is contained in:
Andre Bogus
2018-08-13 23:12:36 +02:00
parent d5a448b3f4
commit 05ddad37d1
@@ -97,12 +97,7 @@ pub fn maybe_map<F, U>(&self, mut f: F) -> Option<TransitiveRelation<U>>
{
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)
}