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 | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/crates/ide-completion/src/context/analysis.rs b/crates/ide-completion/src/context/analysis.rs index 7fc77aae91..fabbbe867e 100644 --- a/crates/ide-completion/src/context/analysis.rs +++ b/crates/ide-completion/src/context/analysis.rs @@ -13,8 +13,9 @@ use syntax::{ use crate::context::{ AttrCtx, CompletionAnalysis, CompletionContext, DotAccess, DotAccessKind, ExprCtx, ItemListKind, LifetimeContext, LifetimeKind, NameContext, NameKind, NameRefContext, - NameRefKind, ParamKind, PathCompletionCtx, PathKind, PatternContext, PatternRefutability, - Qualified, QualifierCtx, TypeAscriptionTarget, TypeLocation, COMPLETION_MARKER, + NameRefKind, ParamContext, ParamKind, PathCompletionCtx, PathKind, PatternContext, + PatternRefutability, Qualified, QualifierCtx, TypeAscriptionTarget, TypeLocation, + COMPLETION_MARKER, }; impl<'a> CompletionContext<'a> { @@ -990,7 +991,7 @@ fn pattern_context_for( original_file: &SyntaxNode, pat: ast::Pat, ) -> PatternContext { - let mut is_param = None; + let mut param_ctx = None; let (refutability, has_type_ascription) = pat .syntax() @@ -1003,7 +1004,7 @@ fn pattern_context_for( ast::LetStmt(let_) => return (PatternRefutability::Irrefutable, let_.ty().is_some()), ast::Param(param) => { let has_type_ascription = param.ty().is_some(); - is_param = (|| { + param_ctx = (|| { let fake_param_list = param.syntax().parent().and_then(ast::ParamList::cast)?; let param_list = find_node_in_file_compensated(sema, original_file, &fake_param_list)?; let param_list_owner = param_list.syntax().parent()?; @@ -1014,7 +1015,9 @@ fn pattern_context_for( _ => return None, } }; - Some((param_list, param, kind)) + Some(ParamContext { + param_list, param, kind + }) })(); return (PatternRefutability::Irrefutable, has_type_ascription) }, @@ -1033,7 +1036,7 @@ fn pattern_context_for( PatternContext { refutability, - param_ctx: is_param, + param_ctx, has_type_ascription, parent_pat: pat.syntax().parent().and_then(ast::Pat::cast), mut_token, |