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
bors 2022-06-20
parent a1ff3ca · parent 1f02840 · commit 9fdfa9f
-rw-r--r--crates/ide-completion/src/completions.rs6
-rw-r--r--crates/ide-completion/src/tests/pattern.rs12
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#"