diff --git a/crates/ra_hir/src/expr.rs b/crates/ra_hir/src/expr.rs index 6043f40283..d6c551fb23 100644 --- a/crates/ra_hir/src/expr.rs +++ b/crates/ra_hir/src/expr.rs @@ -77,10 +77,6 @@ impl Body { pub fn pats(&self) -> impl Iterator { self.pats.iter() } - - pub fn source_map(&self, db: &impl HirDatabase) -> Arc { - db.body_with_source_map(self.owner).1 - } } // needs arbitrary_self_types to be a method... or maybe move to the def? diff --git a/crates/ra_ide_api/src/goto_definition.rs b/crates/ra_ide_api/src/goto_definition.rs index 1f284af56c..9ec179593a 100644 --- a/crates/ra_ide_api/src/goto_definition.rs +++ b/crates/ra_ide_api/src/goto_definition.rs @@ -109,7 +109,7 @@ pub(crate) fn reference_definition( Some(Resolution::Def(def)) => return Exact(NavigationTarget::from_def(db, def)), Some(Resolution::LocalBinding(pat)) => { let body = resolver.body().expect("no body for local binding"); - let source_map = body.source_map(db); + let source_map = body.owner().body_source_map(db); let ptr = source_map.pat_syntax(pat).expect("pattern not found in syntax mapping"); let name = path.as_ident().cloned().expect("local binding from a multi-segment path");