]> git.lizzy.rs Git - rust.git/blobdiff - crates/ide_completion/src/completions/keyword.rs
Various keyword completion fixes
[rust.git] / crates / ide_completion / src / completions / keyword.rs
index e40ec6280d8a0ea1b68f85433523d2d6467e0427..407f796efe4282c7c593210d1a3171ccb806e792 100644 (file)
@@ -92,7 +92,7 @@ pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte
     }
 
     if !ctx.has_visibility_prev_sibling()
-        && (expects_item || ctx.expects_non_trait_assoc_item() || ctx.expect_record_field())
+        && (expects_item || ctx.expects_non_trait_assoc_item() || ctx.expect_field())
     {
         add_keyword("pub(crate)", "pub(crate) ");
         add_keyword("pub", "pub ");
@@ -122,6 +122,10 @@ pub(crate) fn complete_expr_keyword(acc: &mut Completions, ctx: &CompletionConte
         add_keyword("union", "union $1 {\n    $0\n}");
     }
 
+    if ctx.expects_type() {
+        return;
+    }
+
     if ctx.expects_expression() {
         if !has_block_expr_parent {
             add_keyword("unsafe", "unsafe {\n    $0\n}");