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 | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/crates/ide-completion/src/context/analysis.rs b/crates/ide-completion/src/context/analysis.rs index 57d6682b4b..25b384d323 100644 --- a/crates/ide-completion/src/context/analysis.rs +++ b/crates/ide-completion/src/context/analysis.rs @@ -13,8 +13,8 @@ use syntax::{ use crate::context::{ CompletionContext, DotAccess, DotAccessKind, IdentContext, ItemListKind, LifetimeContext, LifetimeKind, NameContext, NameKind, NameRefContext, NameRefKind, ParamKind, PathCompletionCtx, - PathKind, PathQualifierCtx, PatternContext, PatternRefutability, Qualified, QualifierCtx, - TypeAscriptionTarget, TypeLocation, COMPLETION_MARKER, + PathKind, PatternContext, PatternRefutability, Qualified, QualifierCtx, TypeAscriptionTarget, + TypeLocation, COMPLETION_MARKER, }; impl<'a> CompletionContext<'a> { @@ -589,6 +589,7 @@ impl<'a> CompletionContext<'a> { parent: path.parent_path(), kind: PathKind::Item { kind: ItemListKind::SourceFile }, has_type_args: false, + use_tree_parent: false, }; let is_in_block = |it: &SyntaxNode| { @@ -853,6 +854,7 @@ impl<'a> CompletionContext<'a> { // calculate the qualifier context if let Some((path, use_tree_parent)) = path_or_use_tree_qualifier(&path) { + path_ctx.use_tree_parent = use_tree_parent; if !use_tree_parent && segment.coloncolon_token().is_some() { path_ctx.qualified = Qualified::Absolute; } else { @@ -878,12 +880,7 @@ impl<'a> CompletionContext<'a> { let is_super_chain = iter::successors(Some(path.clone()), |p| p.qualifier()) .all(|p| p.segment().and_then(|s| s.super_token()).is_some()); - Qualified::With(PathQualifierCtx { - path, - resolution: res, - is_super_chain, - use_tree_parent, - }) + Qualified::With { path, resolution: res, is_super_chain } } }; } |