diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-04-10 08:50:57 +0100 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-04-10 08:50:57 +0100 |
commit | 37eb12f2dd6f36570a27b4e4aaf9048860b5a06b (patch) | |
tree | f5640991cbf0db2bfdad29b911435827cadfb4a8 /crates/ra_ide_api/src/goto_definition.rs | |
parent | b863272899a1bae63c7d9411d0ebff74652bae8e (diff) | |
parent | 10726fdb65fda9144a5f9201272d065a268fc1b7 (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.rs | 1 |
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 | } |