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
This commit is contained in:
bors 2022-06-20 16:03:21 +00:00
commit 9fdfa9f0ed
2 changed files with 17 additions and 1 deletions

View File

@ -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);
}

View File

@ -13,6 +13,18 @@ fn check(ra_fixture: &str, expect: Expect) {
expect.assert_eq(&actual)
}
#[test]
fn wildcard() {
check(
r#"
fn quux() {
let _$0
}
"#,
expect![""],
);
}
#[test]
fn ident_rebind_pat() {
check_empty(