From 93e6b0d643099beb95d16da91a833781ac6b8e95 Mon Sep 17 00:00:00 2001 From: Tatsuyuki Ishi Date: Sun, 18 Feb 2018 11:37:14 +0900 Subject: [PATCH] Remove needless dedup from projection --- src/librustc/traits/project.rs | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/librustc/traits/project.rs b/src/librustc/traits/project.rs index 7ae9691194158..540f18343f546 100644 --- a/src/librustc/traits/project.rs +++ b/src/librustc/traits/project.rs @@ -835,16 +835,6 @@ fn project_type<'cx, 'gcx, 'tcx>( return Err(ProjectionTyError::TooManyCandidates); } - // Drop duplicates. - // - // Note: `candidates.vec` seems to be on the critical path of the - // compiler. Replacing it with an HashSet was also tried, which would - // render the following dedup unnecessary. The original comment indicated - // that it was 9% slower, but that data is now obsolete and a new - // benchmark should be performed. - candidates.vec.sort_unstable(); - candidates.vec.dedup(); - // Prefer where-clauses. As in select, if there are multiple // candidates, we prefer where-clause candidates over impls. This // may seem a bit surprising, since impls are the source of