From 490112dea10d476e9b5829499bc6670f03f7d138 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 15 Jan 2019 19:15:01 +0300 Subject: remove Cancelable from nameres --- crates/ra_hir/src/code_model_impl/module.rs | 33 ++++++++++++----------------- 1 file changed, 14 insertions(+), 19 deletions(-) (limited to 'crates/ra_hir/src/code_model_impl') diff --git a/crates/ra_hir/src/code_model_impl/module.rs b/crates/ra_hir/src/code_model_impl/module.rs index 331b0500e..04301ae53 100644 --- a/crates/ra_hir/src/code_model_impl/module.rs +++ b/crates/ra_hir/src/code_model_impl/module.rs @@ -114,18 +114,13 @@ impl Module { } /// Returns a `ModuleScope`: a set of items, visible in this module. - pub fn scope_impl(&self, db: &impl HirDatabase) -> Cancelable { + pub fn scope_impl(&self, db: &impl HirDatabase) -> ModuleScope { let loc = self.def_id.loc(db); - let item_map = db.item_map(loc.source_root_id)?; - let res = item_map.per_module[&loc.module_id].clone(); - Ok(res) + let item_map = db.item_map(loc.source_root_id); + item_map.per_module[&loc.module_id].clone() } - pub fn resolve_path_impl( - &self, - db: &impl HirDatabase, - path: &Path, - ) -> Cancelable> { + pub fn resolve_path_impl(&self, db: &impl HirDatabase, path: &Path) -> PerNs { let mut curr_per_ns = PerNs::types( match path.kind { PathKind::Crate => self.crate_root(db), @@ -134,7 +129,7 @@ impl Module { if let Some(p) = self.parent(db) { p } else { - return Ok(PerNs::none()); + return PerNs::none(); } } } @@ -146,7 +141,7 @@ impl Module { let curr = if let Some(r) = curr_per_ns.as_ref().take_types() { r } else { - return Ok(PerNs::none()); + return PerNs::none(); }; let module = match curr.resolve(db) { Def::Module(it) => it, @@ -157,28 +152,28 @@ impl Module { e.variants(db).into_iter().find(|(n, _variant)| n == name); if let Some((_n, variant)) = matching_variant { - return Ok(PerNs::both(variant.def_id(), e.def_id())); + return PerNs::both(variant.def_id(), e.def_id()); } else { - return Ok(PerNs::none()); + return PerNs::none(); } } else if segments.len() == idx { // enum - return Ok(PerNs::types(e.def_id())); + return PerNs::types(e.def_id()); } else { // malformed enum? - return Ok(PerNs::none()); + return PerNs::none(); } } - _ => return Ok(PerNs::none()), + _ => return PerNs::none(), }; - let scope = module.scope(db)?; + let scope = module.scope(db); curr_per_ns = if let Some(r) = scope.get(&name) { r.def_id } else { - return Ok(PerNs::none()); + return PerNs::none(); }; } - Ok(curr_per_ns) + curr_per_ns } pub fn problems_impl( -- cgit v1.2.3