Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_completion/src/completions/qualified_path.rs')
| -rw-r--r-- | crates/ide_completion/src/completions/qualified_path.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/crates/ide_completion/src/completions/qualified_path.rs b/crates/ide_completion/src/completions/qualified_path.rs index 3ddbd5e2a2..a3606c17f5 100644 --- a/crates/ide_completion/src/completions/qualified_path.rs +++ b/crates/ide_completion/src/completions/qualified_path.rs @@ -6,7 +6,7 @@ use syntax::ast; use crate::{ completions::module_or_fn_macro, - context::{PathCompletionContext, PathKind}, + context::{PathCompletionCtx, PathKind}, patterns::ImmediateLocation, CompletionContext, Completions, }; @@ -15,18 +15,16 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon if ctx.is_path_disallowed() || ctx.has_impl_or_trait_prev_sibling() { return; } - let ((path, resolution), kind) = match ctx.path_context { + let (qualifier, kind) = match ctx.path_context { // let ... else, syntax would come in really handy here right now - Some(PathCompletionContext { qualifier: Some(ref qualifier), kind, .. }) => { - (qualifier, kind) - } + Some(PathCompletionCtx { qualifier: Some(ref qualifier), kind, .. }) => (qualifier, kind), _ => return, }; // special case `<_>::$0` as this doesn't resolve to anything. - if path.qualifier().is_none() { + if qualifier.path.qualifier().is_none() { if matches!( - path.segment().and_then(|it| it.kind()), + qualifier.path.segment().and_then(|it| it.kind()), Some(ast::PathSegmentKind::Type { type_ref: Some(ast::Type::InferType(_)), trait_ref: None, @@ -42,7 +40,7 @@ pub(crate) fn complete_qualified_path(acc: &mut Completions, ctx: &CompletionCon } } - let resolution = match resolution { + let resolution = match &qualifier.resolution { Some(res) => res, None => return, }; |