diff options
author | Aleksey Kladov <[email protected]> | 2019-09-05 20:36:04 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-09-06 12:21:11 +0100 |
commit | 9ae455ea52bf0bc60476fdb3d50d05f5873040c1 (patch) | |
tree | 5f5adc8ffd4c29d104e646057f636def67ac2549 /crates/ra_db/src/lib.rs | |
parent | 3bdb456d17660f3460bbf2c38315568b2f76aaa5 (diff) |
make source_root API more abstract
Diffstat (limited to 'crates/ra_db/src/lib.rs')
-rw-r--r-- | crates/ra_db/src/lib.rs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/crates/ra_db/src/lib.rs b/crates/ra_db/src/lib.rs index b82d1bda0..c54791b7a 100644 --- a/crates/ra_db/src/lib.rs +++ b/crates/ra_db/src/lib.rs | |||
@@ -12,7 +12,7 @@ pub use crate::{ | |||
12 | cancellation::Canceled, | 12 | cancellation::Canceled, |
13 | input::{CrateGraph, CrateId, Dependency, Edition, FileId, SourceRoot, SourceRootId}, | 13 | input::{CrateGraph, CrateId, Dependency, Edition, FileId, SourceRoot, SourceRootId}, |
14 | }; | 14 | }; |
15 | pub use ::salsa; | 15 | pub use salsa; |
16 | 16 | ||
17 | pub trait CheckCanceled { | 17 | pub trait CheckCanceled { |
18 | /// Aborts current query if there are pending changes. | 18 | /// Aborts current query if there are pending changes. |
@@ -93,8 +93,7 @@ pub trait SourceDatabase: CheckCanceled + std::fmt::Debug { | |||
93 | fn source_root_crates(db: &impl SourceDatabase, id: SourceRootId) -> Arc<Vec<CrateId>> { | 93 | fn source_root_crates(db: &impl SourceDatabase, id: SourceRootId) -> Arc<Vec<CrateId>> { |
94 | let root = db.source_root(id); | 94 | let root = db.source_root(id); |
95 | let graph = db.crate_graph(); | 95 | let graph = db.crate_graph(); |
96 | let res = | 96 | let res = root.walk().filter_map(|it| graph.crate_id_for_crate_root(it)).collect::<Vec<_>>(); |
97 | root.files.values().filter_map(|&it| graph.crate_id_for_crate_root(it)).collect::<Vec<_>>(); | ||
98 | Arc::new(res) | 97 | Arc::new(res) |
99 | } | 98 | } |
100 | 99 | ||