Eagerly translate HelpUseLatestEdition in parser diagnostics

This commit is contained in:
许杰友 Jieyou Xu (Joe) 2024-03-07 23:03:42 +00:00
parent 1c580bcb70
commit 4663fbb2cb
No known key found for this signature in database
GPG Key ID: 95DDEBD74A1DC2C0
3 changed files with 27 additions and 1 deletions

View File

@ -667,7 +667,7 @@ impl<'a> Parser<'a> {
{
err.note("you may be trying to write a c-string literal");
err.note("c-string literals require Rust 2021 or later");
HelpUseLatestEdition::new().add_to_diagnostic(&mut err);
err.subdiagnostic(self.dcx(), HelpUseLatestEdition::new());
}
// `pub` may be used for an item or `pub(crate)`

View File

@ -0,0 +1,5 @@
enum will {
s#[c"owned_box"]
//~^ERROR expected one of `(`, `,`, `=`, `{`, or `}`, found `#`
//~|ERROR expected item, found `"owned_box"`
}

View File

@ -0,0 +1,21 @@
error: expected one of `(`, `,`, `=`, `{`, or `}`, found `#`
--> $DIR/help-set-edition-ice-122130.rs:2:6
|
LL | s#[c"owned_box"]
| ^ expected one of `(`, `,`, `=`, `{`, or `}`
|
= note: you may be trying to write a c-string literal
= note: c-string literals require Rust 2021 or later
= help: pass `--edition 2021` to `rustc`
= note: for more on editions, read https://doc.rust-lang.org/edition-guide
error: expected item, found `"owned_box"`
--> $DIR/help-set-edition-ice-122130.rs:2:9
|
LL | s#[c"owned_box"]
| ^^^^^^^^^^^ expected item
|
= note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
error: aborting due to 2 previous errors