aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/goto_definition.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide_api/src/goto_definition.rs')
-rw-r--r--crates/ra_ide_api/src/goto_definition.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/crates/ra_ide_api/src/goto_definition.rs b/crates/ra_ide_api/src/goto_definition.rs
index 323bb1cc1..46bdde00d 100644
--- a/crates/ra_ide_api/src/goto_definition.rs
+++ b/crates/ra_ide_api/src/goto_definition.rs
@@ -63,13 +63,11 @@ pub(crate) fn reference_definition(
63 let infer_result = function.infer(db); 63 let infer_result = function.infer(db);
64 let syntax_mapping = function.body_syntax_mapping(db); 64 let syntax_mapping = function.body_syntax_mapping(db);
65 let expr = ast::Expr::cast(method_call.syntax()).unwrap(); 65 let expr = ast::Expr::cast(method_call.syntax()).unwrap();
66 if let Some(def_id) = syntax_mapping 66 if let Some(func) = syntax_mapping
67 .node_expr(expr) 67 .node_expr(expr)
68 .and_then(|it| infer_result.method_resolution(it)) 68 .and_then(|it| infer_result.method_resolution(it))
69 { 69 {
70 if let Some(target) = NavigationTarget::from_def(db, hir::ModuleDef::Def(def_id)) { 70 return Exact(NavigationTarget::from_function(db, func));
71 return Exact(target);
72 }
73 }; 71 };
74 } 72 }
75 } 73 }