about summary refs log tree commit diff
path: root/compiler/rustc_parse
diff options
context:
space:
mode:
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2023-10-30 10:13:12 +0000
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>2023-10-30 10:13:12 +0000
commit745c600617bc5dd1405cb53b1f79e5f421d62b0f (patch)
tree8bce243d67b4195373766de6fa17c553110e00da /compiler/rustc_parse
parent91bbdd927a5e53a2fe126304fe8adbedf339616c (diff)
downloadrust-745c600617bc5dd1405cb53b1f79e5f421d62b0f.tar.gz
rust-745c600617bc5dd1405cb53b1f79e5f421d62b0f.zip
Talk about `gen fn` in diagnostics about `gen fn`
Diffstat (limited to 'compiler/rustc_parse')
-rw-r--r--compiler/rustc_parse/messages.ftl4
-rw-r--r--compiler/rustc_parse/src/errors.rs4
-rw-r--r--compiler/rustc_parse/src/parser/item.rs2
3 files changed, 5 insertions, 5 deletions
diff --git a/compiler/rustc_parse/messages.ftl b/compiler/rustc_parse/messages.ftl
index 9bedd7b8a33..9ba1f0a5df9 100644
--- a/compiler/rustc_parse/messages.ftl
+++ b/compiler/rustc_parse/messages.ftl
@@ -278,8 +278,8 @@ parse_found_expr_would_be_stmt = expected expression, found `{$token}`
 parse_function_body_equals_expr = function body cannot be `= expression;`
     .suggestion = surround the expression with `{"{"}` and `{"}"}` instead of `=` and `;`
 
-parse_gen_block = `gen` blocks are not yet implemented
-    .help = only the keyword is reserved for now
+parse_gen_fn = `gen` functions are not yet implemented
+    .help = for now you can use `gen {"{}"}` blocks and return `impl Iterator` instead
 
 parse_generic_args_in_pat_require_turbofish_syntax = generic args in patterns require the turbofish syntax
 
diff --git a/compiler/rustc_parse/src/errors.rs b/compiler/rustc_parse/src/errors.rs
index c0e94d15da0..e5cd91a32a7 100644
--- a/compiler/rustc_parse/src/errors.rs
+++ b/compiler/rustc_parse/src/errors.rs
@@ -521,9 +521,9 @@ pub(crate) struct CatchAfterTry {
 }
 
 #[derive(Diagnostic)]
-#[diag(parse_gen_block)]
+#[diag(parse_gen_fn)]
 #[help]
-pub(crate) struct GenBlock {
+pub(crate) struct GenFn {
     #[primary_span]
     pub span: Span,
 }
diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs
index a9f456d64cd..55ad3f42938 100644
--- a/compiler/rustc_parse/src/parser/item.rs
+++ b/compiler/rustc_parse/src/parser/item.rs
@@ -2372,7 +2372,7 @@ impl<'a> Parser<'a> {
         }
 
         if let Gen::Yes { span, .. } = genness {
-            self.sess.emit_err(errors::GenBlock { span });
+            self.sess.emit_err(errors::GenFn { span });
         }
 
         if !self.eat_keyword_case(kw::Fn, case) {