From 8eea10e3ab25111375a95990b93d1170d5fe8a9f Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 20 Oct 2018 22:35:55 +0300 Subject: actually check for cancelation --- crates/ra_analysis/src/module_map.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'crates/ra_analysis/src/module_map.rs') diff --git a/crates/ra_analysis/src/module_map.rs b/crates/ra_analysis/src/module_map.rs index 0c413becd..3c800265a 100644 --- a/crates/ra_analysis/src/module_map.rs +++ b/crates/ra_analysis/src/module_map.rs @@ -1,12 +1,13 @@ +use std::sync::Arc; + use crate::{ + db, Cancelable, db::SyntaxDatabase, descriptors::{ModuleDescriptor, ModuleTreeDescriptor}, FileId, }; -use std::sync::Arc; - salsa::query_group! { pub(crate) trait ModulesDatabase: SyntaxDatabase { fn module_tree() -> Cancelable> { @@ -19,11 +20,13 @@ salsa::query_group! { } fn module_descriptor(db: &impl ModulesDatabase, file_id: FileId) -> Cancelable> { + db::check_canceled(db)?; let file = db.file_syntax(file_id); Ok(Arc::new(ModuleDescriptor::new(file.ast()))) } fn module_tree(db: &impl ModulesDatabase) -> Cancelable> { + db::check_canceled(db)?; let file_set = db.file_set(); let mut files = Vec::new(); for &file_id in file_set.files.iter() { -- cgit v1.2.3