about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2018-07-24 16:43:49 -0600
committerGitHub <noreply@github.com>2018-07-24 16:43:49 -0600
commitc7a178ea5f84620508efbee96fb1da287c1a779d (patch)
treeaecd1021fb355e9f2d638b04712a308b3954a298 /src/libcore
parent28f8cb585aa4953864f64fdc58da9d4a2a34d6c0 (diff)
parentcbe5f1c4207673b9059e832ef2f134b4f87b380d (diff)
downloadrust-c7a178ea5f84620508efbee96fb1da287c1a779d.tar.gz
rust-c7a178ea5f84620508efbee96fb1da287c1a779d.zip
Rollup merge of #52658 - Wallacoloo:topics/use-option-methods, r=cramertj
Prefer `Option::map`/etc over `match` wherever it improves clarity

This isn't intended to change behavior anywhere. A lot of times statements like `match x { None => None, Some(y) => [...] }` can be rewritten using `Option::map` or `Option::and_then` in a way that preserves or improves clarity, so that's what I've done here.

I think it's particularly valuable to keep things in `libcore` and `libstd` pretty/idiomatic since it's not uncommon to follow the `[src]` links when browsing the rust-lang.org docs for std/core. If there's any concern about pushing style-based changes though, I'll happily back out the non-std/core commits here.
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/str/mod.rs11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/libcore/str/mod.rs b/src/libcore/str/mod.rs
index 3e215de58dd..86b8349fa3c 100644
--- a/src/libcore/str/mod.rs
+++ b/src/libcore/str/mod.rs
@@ -696,13 +696,10 @@ impl<'a> Iterator for CharIndices<'a> {
 impl<'a> DoubleEndedIterator for CharIndices<'a> {
     #[inline]
     fn next_back(&mut self) -> Option<(usize, char)> {
-        match self.iter.next_back() {
-            None => None,
-            Some(ch) => {
-                let index = self.front_offset + self.iter.iter.len();
-                Some((index, ch))
-            }
-        }
+        self.iter.next_back().map(|ch| {
+            let index = self.front_offset + self.iter.iter.len();
+            (index, ch)
+        })
     }
 }