diff --git a/crates/ide_completion/src/completions/attribute.rs b/crates/ide_completion/src/completions/attribute.rs index f67d7d56d81..2603ad2003f 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 c2bd26e2d8e..2d2a1b867a6 100644 --- a/crates/ide_completion/src/tests/attribute.rs +++ b/crates/ide_completion/src/tests/attribute.rs @@ -40,6 +40,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(