aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/goto_definition.rs
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-04-10 08:50:57 +0100
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-04-10 08:50:57 +0100
commit37eb12f2dd6f36570a27b4e4aaf9048860b5a06b (patch)
treef5640991cbf0db2bfdad29b911435827cadfb4a8 /crates/ra_ide_api/src/goto_definition.rs
parentb863272899a1bae63c7d9411d0ebff74652bae8e (diff)
parent10726fdb65fda9144a5f9201272d065a268fc1b7 (diff)
Merge #1128
1128: A touch of type-safety r=matklad a=matklad Note that we intentionally don't use `Either` from crates.io: I like A/B naming more then left/rigth, I feel like we might need Either3 with C at some point, and I'd love the ability to write inherent impls Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_ide_api/src/goto_definition.rs')
-rw-r--r--crates/ra_ide_api/src/goto_definition.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/crates/ra_ide_api/src/goto_definition.rs b/crates/ra_ide_api/src/goto_definition.rs
index 660b43cfa..60c1f5085 100644
--- a/crates/ra_ide_api/src/goto_definition.rs
+++ b/crates/ra_ide_api/src/goto_definition.rs
@@ -113,6 +113,7 @@ pub(crate) fn reference_definition(
113 let ptr = source_map.pat_syntax(pat).expect("pattern not found in syntax mapping"); 113 let ptr = source_map.pat_syntax(pat).expect("pattern not found in syntax mapping");
114 let name = 114 let name =
115 path.as_ident().cloned().expect("local binding from a multi-segment path"); 115 path.as_ident().cloned().expect("local binding from a multi-segment path");
116 let ptr = ptr.either(|it| it.into(), |it| it.into());
116 let nav = NavigationTarget::from_scope_entry(file_id, name, ptr); 117 let nav = NavigationTarget::from_scope_entry(file_id, name, ptr);
117 return Exact(nav); 118 return Exact(nav);
118 } 119 }