diff --git a/crates/ra_db/src/lib.rs b/crates/ra_db/src/lib.rs index 4bfc3f9ae94..cab47dcacce 100644 --- a/crates/ra_db/src/lib.rs +++ b/crates/ra_db/src/lib.rs @@ -80,14 +80,6 @@ pub trait FilesDatabase: salsa::Database + CheckCanceled { #[salsa::input] fn source_root(&self, id: SourceRootId) -> Arc; fn source_root_crates(&self, id: SourceRootId) -> Arc>; - /// The set of "local" (that is, from the current workspace) roots. - /// Files in local roots are assumed to change frequently. - #[salsa::input] - fn local_roots(&self) -> Arc>; - /// The set of roots for crates.io libraries. - /// Files in libraries are assumed to never change. - #[salsa::input] - fn library_roots(&self) -> Arc>; /// The crate graph. #[salsa::input] fn crate_graph(&self) -> Arc; diff --git a/crates/ra_hir/src/mock.rs b/crates/ra_hir/src/mock.rs index 4af4dd096e5..cfbe652b0ab 100644 --- a/crates/ra_hir/src/mock.rs +++ b/crates/ra_hir/src/mock.rs @@ -140,8 +140,6 @@ impl Default for MockDatabase { file_counter: 0, }; db.set_crate_graph(Default::default()); - db.set_local_roots(Default::default()); - db.set_library_roots(Default::default()); db } } diff --git a/crates/ra_ide_api/src/db.rs b/crates/ra_ide_api/src/db.rs index 02e12437c3a..119190e0aa5 100644 --- a/crates/ra_ide_api/src/db.rs +++ b/crates/ra_ide_api/src/db.rs @@ -1,11 +1,11 @@ use std::sync::Arc; use ra_db::{ - CheckCanceled, FileId, Canceled, - salsa::{self, Database}, + CheckCanceled, FileId, Canceled, FilesDatabase, + salsa, }; -use crate::{symbol_index, LineIndex}; +use crate::{LineIndex, symbol_index::{self, SymbolsDatabase}}; #[salsa::database( ra_db::FilesDatabaseStorage, @@ -34,12 +34,9 @@ impl Default for RootDatabase { runtime: salsa::Runtime::default(), interner: Default::default(), }; - db.query_mut(ra_db::CrateGraphQuery) - .set((), Default::default()); - db.query_mut(ra_db::LocalRootsQuery) - .set((), Default::default()); - db.query_mut(ra_db::LibraryRootsQuery) - .set((), Default::default()); + db.set_crate_graph(Default::default()); + db.set_local_roots(Default::default()); + db.set_library_roots(Default::default()); db } } diff --git a/crates/ra_ide_api/src/symbol_index.rs b/crates/ra_ide_api/src/symbol_index.rs index e073a349ef3..4d81d14b3f0 100644 --- a/crates/ra_ide_api/src/symbol_index.rs +++ b/crates/ra_ide_api/src/symbol_index.rs @@ -49,6 +49,14 @@ pub(crate) trait SymbolsDatabase: hir::db::HirDatabase { fn file_symbols(&self, file_id: FileId) -> Arc; #[salsa::input] fn library_symbols(&self, id: SourceRootId) -> Arc; + /// The set of "local" (that is, from the current workspace) roots. + /// Files in local roots are assumed to change frequently. + #[salsa::input] + fn local_roots(&self) -> Arc>; + /// The set of roots for crates.io libraries. + /// Files in libraries are assumed to never change. + #[salsa::input] + fn library_roots(&self) -> Arc>; } fn file_symbols(db: &impl SymbolsDatabase, file_id: FileId) -> Arc {