hir is cancelation free

This commit is contained in:
Aleksey Kladov 2019-01-15 20:56:06 +03:00
parent 8ba9c2d4ce
commit 02c3d2f78e
3 changed files with 6 additions and 12 deletions

View File

@ -1,7 +1,7 @@
use std::sync::Arc;
use relative_path::RelativePathBuf;
use ra_db::{CrateId, Cancelable, FileId};
use ra_db::{CrateId, FileId};
use ra_syntax::{ast, TreeArc, SyntaxNode};
use crate::{
@ -142,10 +142,7 @@ impl Module {
self.resolve_path_impl(db, path)
}
pub fn problems(
&self,
db: &impl HirDatabase,
) -> Cancelable<Vec<(TreeArc<SyntaxNode>, Problem)>> {
pub fn problems(&self, db: &impl HirDatabase) -> Vec<(TreeArc<SyntaxNode>, Problem)> {
self.problems_impl(db)
}
}

View File

@ -1,4 +1,4 @@
use ra_db::{Cancelable, SourceRootId, FileId};
use ra_db::{SourceRootId, FileId};
use ra_syntax::{ast, SyntaxNode, AstNode, TreeArc};
use crate::{
@ -176,12 +176,9 @@ impl Module {
curr_per_ns
}
pub fn problems_impl(
&self,
db: &impl HirDatabase,
) -> Cancelable<Vec<(TreeArc<SyntaxNode>, Problem)>> {
pub fn problems_impl(&self, db: &impl HirDatabase) -> Vec<(TreeArc<SyntaxNode>, Problem)> {
let loc = self.def_id.loc(db);
let module_tree = db.module_tree(loc.source_root_id);
Ok(loc.module_id.problems(&module_tree, db))
loc.module_id.problems(&module_tree, db)
}
}

View File

@ -180,7 +180,7 @@ impl db::RootDatabase {
})
.collect::<Vec<_>>();
if let Some(m) = source_binder::module_from_file_id(self, file_id) {
for (name_node, problem) in m.problems(self)? {
for (name_node, problem) in m.problems(self) {
let source_root = self.file_source_root(file_id);
let diag = match problem {
Problem::UnresolvedModule { candidate } => {