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 | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/crates/ide-completion/src/context/analysis.rs b/crates/ide-completion/src/context/analysis.rs index 0c8b569b66..c71ffa0ed8 100644 --- a/crates/ide-completion/src/context/analysis.rs +++ b/crates/ide-completion/src/context/analysis.rs @@ -763,6 +763,13 @@ impl<'a> CompletionContext<'a> { .map_or(false, |it| it.semicolon_token().is_none()); let impl_ = fetch_immediate_impl(sema, original_file, expr.syntax()); + let in_match_guard = match it.parent().and_then(ast::MatchArm::cast) { + Some(arm) => arm + .fat_arrow_token() + .map_or(true, |arrow| it.text_range().start() < arrow.text_range().start()), + None => false, + }; + PathKind::Expr { expr_ctx: ExprCtx { in_block_expr, @@ -775,6 +782,7 @@ impl<'a> CompletionContext<'a> { self_param, incomplete_let, impl_, + in_match_guard, }, } }; |