Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #12596 - Veykril:completions, r=Veykril
fix: Don't trigger pattern completions when typing a wildcard pattern
Fixes https://github.com/rust-lang/rust-analyzer/issues/12592
| -rw-r--r-- | crates/ide-completion/src/completions.rs | 6 | ||||
| -rw-r--r-- | crates/ide-completion/src/tests/pattern.rs | 12 |
2 files changed, 17 insertions, 1 deletions
diff --git a/crates/ide-completion/src/completions.rs b/crates/ide-completion/src/completions.rs index a0725198f7..4f522ee761 100644 --- a/crates/ide-completion/src/completions.rs +++ b/crates/ide-completion/src/completions.rs @@ -489,7 +489,11 @@ pub(super) fn complete_name( NameKind::Function => { item_list::trait_impl::complete_trait_impl_fn(acc, ctx, name); } - NameKind::IdentPat(pattern_ctx) => complete_patterns(acc, ctx, pattern_ctx), + NameKind::IdentPat(pattern_ctx) => { + if ctx.token.kind() != syntax::T![_] { + complete_patterns(acc, ctx, pattern_ctx) + } + } NameKind::Module(mod_under_caret) => { mod_::complete_mod(acc, ctx, mod_under_caret); } diff --git a/crates/ide-completion/src/tests/pattern.rs b/crates/ide-completion/src/tests/pattern.rs index d21f62f4ad..da9e5e2028 100644 --- a/crates/ide-completion/src/tests/pattern.rs +++ b/crates/ide-completion/src/tests/pattern.rs @@ -14,6 +14,18 @@ fn check(ra_fixture: &str, expect: Expect) { } #[test] +fn wildcard() { + check( + r#" +fn quux() { + let _$0 +} +"#, + expect![""], + ); +} + +#[test] fn ident_rebind_pat() { check_empty( r#" |