about summary refs log tree commit diff
diff options
context:
space:
mode:
authorThe8472 <git@infinite-source.de>2021-07-19 20:21:54 +0200
committerThe8472 <git@infinite-source.de>2021-07-19 20:22:26 +0200
commitc3ac8d8b8683fdb7f247e9107397ec8948ad4568 (patch)
treeb5c8c26464e468129af3fd82afae890d6008f3a4
parent8dd903cc774e7376f4c66e7940fae8a420b25123 (diff)
replace Option combinators with try block
-rw-r--r--library/core/src/iter/adapters/flatten.rs8
1 files changed, 2 insertions, 6 deletions
diff --git a/library/core/src/iter/adapters/flatten.rs b/library/core/src/iter/adapters/flatten.rs
index 9e0f6d2905d..48880a4d91a 100644
--- a/library/core/src/iter/adapters/flatten.rs
+++ b/library/core/src/iter/adapters/flatten.rs
@@ -319,12 +319,8 @@ where
             let (lower, upper) = self.iter.size_hint();
 
             let lower = lower.saturating_mul(fixed_size).saturating_add(lo);
-            let upper = upper.and_then(|i| i.checked_mul(fixed_size));
-            let upper = fhi
-                .zip_with(bhi, usize::checked_add)
-                .flatten()
-                .zip_with(upper, usize::checked_add)
-                .flatten();
+            let upper =
+                try { fhi?.checked_add(bhi?)?.checked_add(fixed_size.checked_mul(upper?)?)? };
 
             return (lower, upper);
         }