Talk about gen fn in diagnostics about gen fn

This commit is contained in:
Oli Scherer 2023-10-30 10:13:12 +00:00
parent 91bbdd927a
commit 745c600617
5 changed files with 8 additions and 8 deletions

View file

@ -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

View file

@ -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,
}

View file

@ -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) {

View file

@ -1,10 +1,10 @@
error: `gen` blocks are not yet implemented
error: `gen` functions are not yet implemented
--> $DIR/gen_fn.rs:4:1
|
LL | gen fn foo() {}
| ^^^
|
= help: only the keyword is reserved for now
= help: for now you can use `gen {}` blocks and return `impl Iterator` instead
error: aborting due to previous error

View file

@ -3,6 +3,6 @@
gen fn foo() {}
//[none]~^ ERROR: expected one of `#`, `async`, `const`, `default`, `extern`, `fn`, `pub`, `unsafe`, or `use`, found `gen`
//[e2024]~^^ ERROR: `gen` blocks are not yet implemented
//[e2024]~^^ ERROR: `gen` functions are not yet implemented
fn main() {}