aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/ide_completion/src/completions/attribute.rs3
-rw-r--r--crates/ide_completion/src/completions/keyword.rs4
2 files changed, 5 insertions, 2 deletions
diff --git a/crates/ide_completion/src/completions/attribute.rs b/crates/ide_completion/src/completions/attribute.rs
index f3b11e72d..ab24a6521 100644
--- a/crates/ide_completion/src/completions/attribute.rs
+++ b/crates/ide_completion/src/completions/attribute.rs
@@ -786,13 +786,13 @@ mod tests {
786 at target_feature = "…" 786 at target_feature = "…"
787 at test 787 at test
788 at track_caller 788 at track_caller
789 kw return
790 "#]], 789 "#]],
791 ); 790 );
792 } 791 }
793 792
794 #[test] 793 #[test]
795 fn complete_attribute_on_expr() { 794 fn complete_attribute_on_expr() {
795 cov_mark::check!(no_keyword_completion_in_attr_of_expr);
796 check( 796 check(
797 r#"fn main() { #[$0] foo() }"#, 797 r#"fn main() { #[$0] foo() }"#,
798 expect![[r#" 798 expect![[r#"
@@ -802,7 +802,6 @@ mod tests {
802 at deny(…) 802 at deny(…)
803 at forbid(…) 803 at forbid(…)
804 at warn(…) 804 at warn(…)
805 kw return
806 "#]], 805 "#]],
807 ); 806 );
808 } 807 }
diff --git a/crates/ide_completion/src/completions/keyword.rs b/crates/ide_completion/src/completions/keyword.rs
index c99fdef05..07541c79c 100644
--- a/crates/ide_completion/src/completions/keyword.rs
+++ b/crates/ide_completion/src/completions/keyword.rs
@@ -48,6 +48,10 @@ pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte
48 cov_mark::hit!(no_keyword_completion_in_record_lit); 48 cov_mark::hit!(no_keyword_completion_in_record_lit);
49 return; 49 return;
50 } 50 }
51 if ctx.attribute_under_caret.is_some() {
52 cov_mark::hit!(no_keyword_completion_in_attr_of_expr);
53 return;
54 }
51 55
52 // Suggest .await syntax for types that implement Future trait 56 // Suggest .await syntax for types that implement Future trait
53 if let Some(receiver) = ctx.dot_receiver() { 57 if let Some(receiver) = ctx.dot_receiver() {