From 121dac5cbb1129d6107a7a01eecda54825ca58aa Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sat, 23 Mar 2024 14:59:31 +0000 Subject: [PATCH] Deduplicate getting the path of a lib candidate --- compiler/rustc_metadata/src/locator.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/compiler/rustc_metadata/src/locator.rs b/compiler/rustc_metadata/src/locator.rs index 941f16bd960b..9fb573fb07d9 100644 --- a/compiler/rustc_metadata/src/locator.rs +++ b/compiler/rustc_metadata/src/locator.rs @@ -495,13 +495,11 @@ impl<'a> CrateLocator<'a> { 0 => Ok(None), 1 => Ok(Some(libraries.into_iter().next().unwrap().1)), _ => { - let mut libraries: Vec<_> = libraries.into_values().collect(); - - libraries.sort_by_cached_key(|lib| lib.source.paths().next().unwrap().clone()); - let candidates = libraries - .iter() + let mut candidates: Vec = libraries + .into_values() .map(|lib| lib.source.paths().next().unwrap().clone()) - .collect::>(); + .collect(); + candidates.sort(); Err(CrateError::MultipleCandidates( self.crate_name,