Unnamed repository; edit this file 'description' to name the repository.
Merge #11261
11261: fix: Don't complete attributes with existing expressions r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/11254 due to the comment being lowered to an attribute
bors r+
Co-authored-by: Lukas Wirth <[email protected]>
| -rw-r--r-- | crates/ide_completion/src/completions/attribute.rs | 1 | ||||
| -rw-r--r-- | crates/ide_completion/src/tests/attribute.rs | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/crates/ide_completion/src/completions/attribute.rs b/crates/ide_completion/src/completions/attribute.rs index f67d7d56d8..2603ad2003 100644 --- a/crates/ide_completion/src/completions/attribute.rs +++ b/crates/ide_completion/src/completions/attribute.rs @@ -56,6 +56,7 @@ pub(crate) fn complete_attribute(acc: &mut Completions, ctx: &CompletionContext) _ => (), }, (_, Some(_)) => (), + (_, None) if attribute.expr().is_some() => (), (_, None) => complete_new_attribute(acc, ctx, attribute), } Some(()) diff --git a/crates/ide_completion/src/tests/attribute.rs b/crates/ide_completion/src/tests/attribute.rs index c2bd26e2d8..2d2a1b867a 100644 --- a/crates/ide_completion/src/tests/attribute.rs +++ b/crates/ide_completion/src/tests/attribute.rs @@ -41,6 +41,19 @@ struct Foo; } #[test] +fn proc_macros_on_comment() { + check( + r#" +//- proc_macros: identity +/// $0 +#[proc_macros::identity] +struct Foo; +"#, + expect![[r#""#]], + ) +} + +#[test] fn proc_macros_qualified() { check( r#" |