diff options
Diffstat (limited to 'crates/ide/src/display/navigation_target.rs')
-rw-r--r-- | crates/ide/src/display/navigation_target.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/ide/src/display/navigation_target.rs b/crates/ide/src/display/navigation_target.rs index 522607cb7..48acb8c93 100644 --- a/crates/ide/src/display/navigation_target.rs +++ b/crates/ide/src/display/navigation_target.rs | |||
@@ -155,7 +155,15 @@ impl ToNav for FileSymbol { | |||
155 | impl TryToNav for Definition { | 155 | impl TryToNav for Definition { |
156 | fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> { | 156 | fn try_to_nav(&self, db: &RootDatabase) -> Option<NavigationTarget> { |
157 | match self { | 157 | match self { |
158 | Definition::Macro(it) => Some(it.to_nav(db)), | 158 | Definition::Macro(it) => { |
159 | // FIXME: Currently proc-macro do not have ast-node, | ||
160 | // such that it does not have source | ||
161 | // more discussion: https://github.com/rust-analyzer/rust-analyzer/issues/6913 | ||
162 | if it.is_proc_macro() { | ||
163 | return None; | ||
164 | } | ||
165 | Some(it.to_nav(db)) | ||
166 | } | ||
159 | Definition::Field(it) => Some(it.to_nav(db)), | 167 | Definition::Field(it) => Some(it.to_nav(db)), |
160 | Definition::ModuleDef(it) => it.try_to_nav(db), | 168 | Definition::ModuleDef(it) => it.try_to_nav(db), |
161 | Definition::SelfType(it) => Some(it.to_nav(db)), | 169 | Definition::SelfType(it) => Some(it.to_nav(db)), |