about summary refs log tree commit diff
diff options
context:
space:
mode:
authorhi-rustin <rustin.liu@gmail.com>2022-07-27 20:18:00 +0800
committerhi-rustin <rustin.liu@gmail.com>2022-07-27 20:18:00 +0800
commit349dfc7e95c7b384a3e520db3cc26645918857d2 (patch)
tree56758b36906b59fe2338814896cfe6e7fb05ca2c
parent8e4d9b84fe5255f74ed64851aaf5bb5144af0ad8 (diff)
downloadrust-349dfc7e95c7b384a3e520db3cc26645918857d2.tar.gz
rust-349dfc7e95c7b384a3e520db3cc26645918857d2.zip
Find original ast node before compute ref match in fn render
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
-rw-r--r--crates/ide-completion/src/render/function.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/crates/ide-completion/src/render/function.rs b/crates/ide-completion/src/render/function.rs
index 241de0a1834..4b5535718c5 100644
--- a/crates/ide-completion/src/render/function.rs
+++ b/crates/ide-completion/src/render/function.rs
@@ -85,7 +85,9 @@ fn render(
                 item.ref_match(ref_match, path_ctx.path.syntax().text_range().start());
             }
             FuncKind::Method(DotAccess { receiver: Some(receiver), .. }, _) => {
-                item.ref_match(ref_match, receiver.syntax().text_range().start());
+                if let Some(original_expr) = completion.sema.original_ast_node(receiver.clone()) {
+                    item.ref_match(ref_match, original_expr.syntax().text_range().start());
+                }
             }
             _ => (),
         }