about summary refs log tree commit diff
path: root/compiler/rustc_metadata/src
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2022-06-20 23:31:40 +0200
committerGuillaume Gomez <guillaume.gomez@huawei.com>2022-06-20 23:39:26 +0200
commitbeb2f364cc85b4408da1d043f875d159003558e4 (patch)
tree8da8322708b4be76db453800a02bd259d811fa2f /compiler/rustc_metadata/src
parent987c73158e2120ef75b4b7fc46dcd88a621106d8 (diff)
Fix panic by checking if `CStore` has the crate data we want before actually querying it
Diffstat (limited to 'compiler/rustc_metadata/src')
-rw-r--r--compiler/rustc_metadata/src/creader.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/rustc_metadata/src/creader.rs b/compiler/rustc_metadata/src/creader.rs
index 947d563ae3c..555db5846ed 100644
--- a/compiler/rustc_metadata/src/creader.rs
+++ b/compiler/rustc_metadata/src/creader.rs
@@ -133,6 +133,10 @@ impl CStore {
         CrateNum::new(self.metas.len() - 1)
     }
 
+    pub fn has_crate_data(&self, cnum: CrateNum) -> bool {
+        self.metas[cnum].is_some()
+    }
+
     pub(crate) fn get_crate_data(&self, cnum: CrateNum) -> CrateMetadataRef<'_> {
         let cdata = self.metas[cnum]
             .as_ref()