diff options
| author | bors <bors@rust-lang.org> | 2022-06-20 16:03:21 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-06-20 16:03:21 +0000 |
| commit | 9fdfa9f0ed47eeb729cd9256d70297eb6ba45011 (patch) | |
| tree | ac745e10c7129257121e6207aea30d0a1085bad3 | |
| parent | a1ff3ca0ed0b616b2609782579405bdacc04e707 (diff) | |
| parent | 1f028403cdbb35cf1dc23350819e6f4e1ebd057e (diff) | |
| download | rust-9fdfa9f0ed47eeb729cd9256d70297eb6ba45011.tar.gz rust-9fdfa9f0ed47eeb729cd9256d70297eb6ba45011.zip | |
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 a0725198f73..4f522ee7613 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 d21f62f4adb..da9e5e20288 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#" |
