diff options
| author | Bastian Kauschke <bastian_kauschke@hotmail.de> | 2020-05-24 00:06:04 +0200 |
|---|---|---|
| committer | Bastian Kauschke <bastian_kauschke@hotmail.de> | 2020-05-24 00:06:04 +0200 |
| commit | 82b4fc42fdbbb1132f5a98ded198828e4175da66 (patch) | |
| tree | 5a25673408d3ac958fc20134756377845980634d | |
| parent | 75b0a68f35a06fc7aed8aa95831df8eace4afffb (diff) | |
| download | rust-82b4fc42fdbbb1132f5a98ded198828e4175da66.tar.gz rust-82b4fc42fdbbb1132f5a98ded198828e4175da66.zip | |
small select cleanup
| -rw-r--r-- | src/librustc_trait_selection/traits/select.rs | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/src/librustc_trait_selection/traits/select.rs b/src/librustc_trait_selection/traits/select.rs index b402aba65cd..9b3381066a1 100644 --- a/src/librustc_trait_selection/traits/select.rs +++ b/src/librustc_trait_selection/traits/select.rs @@ -1058,20 +1058,11 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // Heuristics: show the diagnostics when there are no candidates in crate. if let Ok(candidate_set) = self.assemble_candidates(stack) { let mut no_candidates_apply = true; - { - let evaluated_candidates = - candidate_set.vec.iter().map(|c| self.evaluate_candidate(stack, &c)); - - for ec in evaluated_candidates { - match ec { - Ok(c) => { - if c.may_apply() { - no_candidates_apply = false; - break; - } - } - Err(e) => return Err(e.into()), - } + + for c in candidate_set.vec.iter() { + if self.evaluate_candidate(stack, &c)?.may_apply() { + no_candidates_apply = false; + break; } } @@ -3182,11 +3173,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { assert_eq!(tys_a.len(), tys_b.len()); // The last field of the tuple has to exist. - let (&a_last, a_mid) = if let Some(x) = tys_a.split_last() { - x - } else { - return Err(Unimplemented); - }; + let (&a_last, a_mid) = tys_a.split_last().ok_or(Unimplemented)?; let &b_last = tys_b.last().unwrap(); // Check that the source tuple with the target's |
