diff options
| author | Dániel Buga <bugadani@gmail.com> | 2020-10-22 15:06:24 +0200 |
|---|---|---|
| committer | Dániel Buga <bugadani@gmail.com> | 2020-11-13 11:19:25 +0100 |
| commit | f0d0d87a2002dea7365ce2230e2df2ed4786fcbe (patch) | |
| tree | 24e9b52ce83a6ec6cc36e7fa0abac47725989cc4 /compiler/rustc_trait_selection/src/traits/select | |
| parent | 45faeb43aecdc98c9e3f2b24edf2ecc71f39d323 (diff) | |
| download | rust-f0d0d87a2002dea7365ce2230e2df2ed4786fcbe.tar.gz rust-f0d0d87a2002dea7365ce2230e2df2ed4786fcbe.zip | |
Push to result vector instead of allocating
Co-authored-by: lcnr <bastian_kauschke@hotmail.de>
Diffstat (limited to 'compiler/rustc_trait_selection/src/traits/select')
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs b/compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs index b0bfb4ad173..ea18a689065 100644 --- a/compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs +++ b/compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs @@ -353,16 +353,13 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { all_bounds.filter(|p| p.def_id() == stack.obligation.predicate.def_id()); // Keep only those bounds which may apply, and propagate overflow if it occurs. - let mut param_candidates = vec![]; for bound in matching_bounds { let wc = self.evaluate_where_clause(stack, bound)?; if wc.may_apply() { - param_candidates.push(ParamCandidate(bound)); + candidates.vec.push(ParamCandidate(bound)); } } - candidates.vec.extend(param_candidates); - Ok(()) } |
