Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/context/analysis.rs')
| -rw-r--r-- | crates/ide-completion/src/context/analysis.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/ide-completion/src/context/analysis.rs b/crates/ide-completion/src/context/analysis.rs index 25b384d323..0efeb85207 100644 --- a/crates/ide-completion/src/context/analysis.rs +++ b/crates/ide-completion/src/context/analysis.rs @@ -430,9 +430,12 @@ impl<'a> CompletionContext<'a> { let (nameref_ctx, pat_ctx, qualifier_ctx) = Self::classify_name_ref(&self.sema, &original_file, name_ref, parent.clone()); + if !matches!(nameref_ctx.kind, Some(NameRefKind::Path(_))) { + // FIXME: Pattern context should probably be part of ident_ctx + self.pattern_ctx = pat_ctx; + } self.qualifier_ctx = qualifier_ctx; self.ident_ctx = IdentContext::NameRef(nameref_ctx); - self.pattern_ctx = pat_ctx; } ast::NameLike::Name(name) => { let (name_ctx, pat_ctx) = Self::classify_name(&self.sema, original_file, name)?; |