about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2025-01-09 12:12:38 +0000
committerGitHub <noreply@github.com>2025-01-09 12:12:38 +0000
commitd1b9176f2404d769d7ac7411d990045792dd62e3 (patch)
tree52ec5e137f91c3f03afc85bdc80427cda5fa165a
parente4708fec85e5e65cd53217dcc138697fa240b855 (diff)
parent13e302c3242fdbea1ea6e3204784804a01b5224a (diff)
downloadrust-d1b9176f2404d769d7ac7411d990045792dd62e3.tar.gz
rust-d1b9176f2404d769d7ac7411d990045792dd62e3.zip
Merge pull request #18889 from ChayimFriedman2/subtle-completion
fix: Fix actual token lookup in completion's `expand()`
-rw-r--r--src/tools/rust-analyzer/crates/ide-completion/src/context/analysis.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-completion/src/context/analysis.rs b/src/tools/rust-analyzer/crates/ide-completion/src/context/analysis.rs
index acce62a041c..1a5609baf9c 100644
--- a/src/tools/rust-analyzer/crates/ide-completion/src/context/analysis.rs
+++ b/src/tools/rust-analyzer/crates/ide-completion/src/context/analysis.rs
@@ -123,10 +123,11 @@ fn expand(
 ) -> Option<ExpansionResult> {
     let _p = tracing::info_span!("CompletionContext::expand").entered();
 
+    // Left biased since there may already be an identifier token there, and we appended to it.
     if !sema.might_be_inside_macro_call(&fake_ident_token)
         && original_file
             .token_at_offset(original_offset + relative_offset)
-            .right_biased()
+            .left_biased()
             .is_some_and(|original_token| !sema.might_be_inside_macro_call(&original_token))
     {
         // Recursion base case.