about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--crates/ide/src/status.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/crates/ide/src/status.rs b/crates/ide/src/status.rs
index 0597302ca84..3dfbc1874b3 100644
--- a/crates/ide/src/status.rs
+++ b/crates/ide/src/status.rs
@@ -227,9 +227,10 @@ impl fmt::Display for SymbolsStats<SourceRootId> {
 }
 impl<Key> StatCollect<Key, Arc<SymbolIndex>> for SymbolsStats<Key> {
     fn collect_entry(&mut self, _: Key, value: Option<Arc<SymbolIndex>>) {
-        let symbols = value.unwrap();
-        self.total += symbols.len();
-        self.size += symbols.memory_size();
+        if let Some(symbols) = value {
+            self.total += symbols.len();
+            self.size += symbols.memory_size();
+        }
     }
 }
 
@@ -254,8 +255,7 @@ impl fmt::Display for AttrsStats {
 
 impl<Key> StatCollect<Key, Attrs> for AttrsStats {
     fn collect_entry(&mut self, _: Key, value: Option<Attrs>) {
-        let attrs = value.unwrap();
         self.entries += 1;
-        self.total += attrs.len();
+        self.total += value.map_or(0, |it| it.len());
     }
 }