diff options
Diffstat (limited to 'crates/ra_ide_api/src/display')
-rw-r--r-- | crates/ra_ide_api/src/display/navigation_target.rs | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/crates/ra_ide_api/src/display/navigation_target.rs b/crates/ra_ide_api/src/display/navigation_target.rs index 03382ab3c..11f73ccfd 100644 --- a/crates/ra_ide_api/src/display/navigation_target.rs +++ b/crates/ra_ide_api/src/display/navigation_target.rs | |||
@@ -1,4 +1,4 @@ | |||
1 | use hir::{FieldSource, HasSource, ImplItem, ModuleSource}; | 1 | use hir::{AssocItem, FieldSource, HasSource, ModuleSource}; |
2 | use ra_db::{FileId, SourceDatabase}; | 2 | use ra_db::{FileId, SourceDatabase}; |
3 | use ra_syntax::{ | 3 | use ra_syntax::{ |
4 | algo::visit::{visitor, Visitor}, | 4 | algo::visit::{visitor, Visitor}, |
@@ -221,11 +221,14 @@ impl NavigationTarget { | |||
221 | ) | 221 | ) |
222 | } | 222 | } |
223 | 223 | ||
224 | pub(crate) fn from_impl_item(db: &RootDatabase, impl_item: hir::ImplItem) -> NavigationTarget { | 224 | pub(crate) fn from_assoc_item( |
225 | match impl_item { | 225 | db: &RootDatabase, |
226 | ImplItem::Method(it) => NavigationTarget::from_def_source(db, it), | 226 | assoc_item: hir::AssocItem, |
227 | ImplItem::Const(it) => NavigationTarget::from_def_source(db, it), | 227 | ) -> NavigationTarget { |
228 | ImplItem::TypeAlias(it) => NavigationTarget::from_def_source(db, it), | 228 | match assoc_item { |
229 | AssocItem::Function(it) => NavigationTarget::from_def_source(db, it), | ||
230 | AssocItem::Const(it) => NavigationTarget::from_def_source(db, it), | ||
231 | AssocItem::TypeAlias(it) => NavigationTarget::from_def_source(db, it), | ||
229 | } | 232 | } |
230 | } | 233 | } |
231 | 234 | ||