diff options
| author | LingMan <LingMan@users.noreply.github.com> | 2020-10-11 20:52:48 +0200 |
|---|---|---|
| committer | LingMan <LingMan@users.noreply.github.com> | 2020-11-23 00:58:53 +0100 |
| commit | e0871cc0bedc9e7c6b0104600727a7109a2a0659 (patch) | |
| tree | 3453f122f614415a525c195deddb08ae79fbf34f | |
| parent | c643dd2ec8fed2852f5eee8f776d657293a6a8f2 (diff) | |
| download | rust-e0871cc0bedc9e7c6b0104600727a7109a2a0659.tar.gz rust-e0871cc0bedc9e7c6b0104600727a7109a2a0659.zip | |
Reduce boilerplate with the `?` operator
| -rw-r--r-- | compiler/rustc_builtin_macros/src/format_foreign.rs | 16 | ||||
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/select/mod.rs | 10 |
2 files changed, 9 insertions, 17 deletions
diff --git a/compiler/rustc_builtin_macros/src/format_foreign.rs b/compiler/rustc_builtin_macros/src/format_foreign.rs index b69b00d65f2..f00dfd1241f 100644 --- a/compiler/rustc_builtin_macros/src/format_foreign.rs +++ b/compiler/rustc_builtin_macros/src/format_foreign.rs @@ -649,17 +649,13 @@ pub mod shell { impl<'a> Iterator for Substitutions<'a> { type Item = Substitution<'a>; fn next(&mut self) -> Option<Self::Item> { - match parse_next_substitution(self.s) { - Some((mut sub, tail)) => { - self.s = tail; - if let Some(InnerSpan { start, end }) = sub.position() { - sub.set_position(start + self.pos, end + self.pos); - self.pos += end; - } - Some(sub) - } - None => None, + let (mut sub, tail) = parse_next_substitution(self.s)?; + self.s = tail; + if let Some(InnerSpan { start, end }) = sub.position() { + sub.set_position(start + self.pos, end + self.pos); + self.pos += end; } + Some(sub) } fn size_hint(&self) -> (usize, Option<usize>) { diff --git a/compiler/rustc_trait_selection/src/traits/select/mod.rs b/compiler/rustc_trait_selection/src/traits/select/mod.rs index 05ff9a6fb9c..e9e7e9520ee 100644 --- a/compiler/rustc_trait_selection/src/traits/select/mod.rs +++ b/compiler/rustc_trait_selection/src/traits/select/mod.rs @@ -2364,13 +2364,9 @@ impl<'o, 'tcx> Iterator for TraitObligationStackList<'o, 'tcx> { type Item = &'o TraitObligationStack<'o, 'tcx>; fn next(&mut self) -> Option<&'o TraitObligationStack<'o, 'tcx>> { - match self.head { - Some(o) => { - *self = o.previous; - Some(o) - } - None => None, - } + let o = self.head?; + *self = o.previous; + Some(o) } } |
