about summary refs log tree commit diff
path: root/src/bootstrap/lib.rs
diff options
context:
space:
mode:
authorJoshua Nelson <github@jyn.dev>2022-12-26 17:53:39 -0600
committerJoshua Nelson <github@jyn.dev>2022-12-26 17:53:57 -0600
commit3890992d0a9509bfab77659bc23f065ebcd3c2ba (patch)
treee3357d069a22f7972e5d6cfb5a50935835c746f6 /src/bootstrap/lib.rs
parent88c58e3c2c097ebffac425d9e080dcb1aadf790e (diff)
downloadrust-3890992d0a9509bfab77659bc23f065ebcd3c2ba.tar.gz
rust-3890992d0a9509bfab77659bc23f065ebcd3c2ba.zip
Fix panic on `x build --help --verbose`
This also makes the panic message a little more informative in case it
happens again.
Diffstat (limited to 'src/bootstrap/lib.rs')
-rw-r--r--src/bootstrap/lib.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs
index f84fcd21cfc..ced1e397807 100644
--- a/src/bootstrap/lib.rs
+++ b/src/bootstrap/lib.rs
@@ -1400,7 +1400,10 @@ impl Build {
         let mut list = vec![INTERNER.intern_str(root)];
         let mut visited = HashSet::new();
         while let Some(krate) = list.pop() {
-            let krate = &self.crates[&krate];
+            let krate = self
+                .crates
+                .get(&krate)
+                .unwrap_or_else(|| panic!("metadata missing for {krate}: {:?}", self.crates));
             ret.push(krate);
             for dep in &krate.deps {
                 if !self.crates.contains_key(dep) {