From 15643d5d90af8b288156be604baa2d4eef7209a4 Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Sat, 22 Aug 2020 21:36:34 +0300 Subject: [PATCH] Do not forget capacity when collecting def path hashes --- src/librustc_metadata/rmeta/decoder.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/librustc_metadata/rmeta/decoder.rs b/src/librustc_metadata/rmeta/decoder.rs index e0347897e0c4..3a64f51ca143 100644 --- a/src/librustc_metadata/rmeta/decoder.rs +++ b/src/librustc_metadata/rmeta/decoder.rs @@ -1863,14 +1863,13 @@ impl<'a, 'tcx> CrateMetadataRef<'a> { } fn all_def_path_hashes_and_def_ids(&self) -> Vec<(DefPathHash, DefId)> { - let mut result = Vec::new(); let mut def_path_hashes = self.def_path_hash_cache.lock(); - for index in 0..self.num_def_ids() { - let index = DefIndex::from_usize(index); - let def_path_hash = self.def_path_hash_unlocked(index, &mut def_path_hashes); - result.push((def_path_hash, self.local_def_id(index))); - } - result + (0..self.num_def_ids()) + .map(|index| { + let index = DefIndex::from_usize(index); + (self.def_path_hash_unlocked(index, &mut def_path_hashes), self.local_def_id(index)) + }) + .collect() } /// Get the `DepNodeIndex` corresponding this crate. The result of this