diff --git a/crates/ra_analysis/src/lib.rs b/crates/ra_analysis/src/lib.rs index 6fd1578801e..85df9c089c9 100644 --- a/crates/ra_analysis/src/lib.rs +++ b/crates/ra_analysis/src/lib.rs @@ -368,13 +368,22 @@ impl Analysis { } } -#[derive(Debug)] pub struct LibraryData { root_id: SourceRootId, root_change: RootChange, symbol_index: SymbolIndex, } +impl fmt::Debug for LibraryData { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + f.debug_struct("LibraryData") + .field("root_id", &self.root_id) + .field("root_change", &self.root_change) + .field("n_symbols", &self.symbol_index.len()) + .finish() + } +} + impl LibraryData { pub fn prepare( root_id: SourceRootId, diff --git a/crates/ra_analysis/src/symbol_index.rs b/crates/ra_analysis/src/symbol_index.rs index b48a3722987..e5bdf0aa1c5 100644 --- a/crates/ra_analysis/src/symbol_index.rs +++ b/crates/ra_analysis/src/symbol_index.rs @@ -56,6 +56,10 @@ impl Hash for SymbolIndex { } impl SymbolIndex { + pub(crate) fn len(&self) -> usize { + self.symbols.len() + } + pub(crate) fn for_files( files: impl ParallelIterator, ) -> SymbolIndex {