Unnamed repository; edit this file 'description' to name the repository.
Merge #10569
10569: fix: Skip non clippy completions when completing a clippy path r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
bors[bot] 2021-10-18
parent 401daa5 · parent 5704de6 · commit 91cbda4
-rw-r--r--crates/ide_completion/src/completions/attribute/lint.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/crates/ide_completion/src/completions/attribute/lint.rs b/crates/ide_completion/src/completions/attribute/lint.rs
index 4f7930d0dd..b7ad06d2f0 100644
--- a/crates/ide_completion/src/completions/attribute/lint.rs
+++ b/crates/ide_completion/src/completions/attribute/lint.rs
@@ -50,8 +50,13 @@ pub(super) fn complete_lint(
if lint_already_annotated {
continue;
}
- let insert = match qual {
- Some(qual) if !ctx.previous_token_is(T![:]) => format!("{}::{}", qual, name),
+ let insert = match (qual, ctx.previous_token_is(T![:])) {
+ (Some(qual), false) => format!("{}::{}", qual, name),
+ // user is completing a qualified path but this completion has no qualifier
+ // so discard this completion
+ // FIXME: This is currently very hacky and will propose odd completions if
+ // we add more qualified (tool) completions other than clippy
+ (None, true) => continue,
_ => name.to_owned(),
};
let mut item =