about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2020-08-22 21:36:34 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2020-08-22 21:36:34 +0300
commit15643d5d90af8b288156be604baa2d4eef7209a4 (patch)
tree167e9b4ca465405c56292411a27ea4e7b784c8e6 /src
parentdf57e28685f7fd3a9961f640a648d526ffa19d91 (diff)
downloadrust-15643d5d90af8b288156be604baa2d4eef7209a4.tar.gz
rust-15643d5d90af8b288156be604baa2d4eef7209a4.zip
Do not forget capacity when collecting def path hashes
Diffstat (limited to 'src')
-rw-r--r--src/librustc_metadata/rmeta/decoder.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/librustc_metadata/rmeta/decoder.rs b/src/librustc_metadata/rmeta/decoder.rs
index e0347897e0c..3a64f51ca14 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