Rollup merge of #122160 - jieyouxu:eager-translate-help-use-latest-edition, r=cjgillot
Eagerly translate `HelpUseLatestEdition` in parser diagnostics Fixes #122130. This makes me suspicious of these other two usage of `add_to_diagnostic()`. Would they *also* crash? I haven't attempted to construct test cases for them. ``` compiler/rustc_parse/src/parser/expr.rs 3453: errors::HelpUseLatestEdition::new().add_to_diagnostic(e); compiler/rustc_hir_typeck/src/expr.rs 2603: HelpUseLatestEdition::new().add_to_diagnostic(&mut err); ``` This also seems like a footgun?
This commit is contained in:
commit
985befe036
@ -667,7 +667,7 @@ fn is_ident_eq_keyword(found: &TokenKind, expected: &TokenType) -> bool {
|
||||
{
|
||||
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)`
|
||||
|
5
tests/ui/parser/help-set-edition-ice-122130.rs
Normal file
5
tests/ui/parser/help-set-edition-ice-122130.rs
Normal file
@ -0,0 +1,5 @@
|
||||
enum will {
|
||||
s#[c"owned_box"]
|
||||
//~^ERROR expected one of `(`, `,`, `=`, `{`, or `}`, found `#`
|
||||
//~|ERROR expected item, found `"owned_box"`
|
||||
}
|
21
tests/ui/parser/help-set-edition-ice-122130.stderr
Normal file
21
tests/ui/parser/help-set-edition-ice-122130.stderr
Normal 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
|
||||
|
Loading…
Reference in New Issue
Block a user