diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-07-18 23:05:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-18 23:05:21 +0200 |
| commit | 50a90e394e047891fd8437e4fcff30aa54ebf136 (patch) | |
| tree | 757018421f07b352d666cfa66e264cba4180943d /compiler/rustc_parse/src/errors.rs | |
| parent | c1bbe347c278b7bddb0655b5e7f2a606e32f2ba4 (diff) | |
| parent | 67ec1326ee4e360b92dc6a6a3834bf8948532770 (diff) | |
| download | rust-50a90e394e047891fd8437e4fcff30aa54ebf136.tar.gz rust-50a90e394e047891fd8437e4fcff30aa54ebf136.zip | |
Rollup merge of #127835 - estebank:issue-127823, r=compiler-errors
Fix ICE in suggestion caused by `⩵` being recovered as `==`
The second suggestion shown here would previously incorrectly assume that the span corresponding to `⩵` was 2 bytes wide composed by 2 1 byte wide chars, so a span pointing at `==` could point only at one of the `=` to remove it. Instead, we now replace the whole thing (as we should have the whole time):
```
error: unknown start of token: \u{2a75}
--> $DIR/unicode-double-equals-recovery.rs:1:16
|
LL | const A: usize ⩵ 2;
| ^
|
help: Unicode character '⩵' (Two Consecutive Equals Signs) looks like '==' (Double Equals Sign), but it is not
|
LL | const A: usize == 2;
| ~~
error: unexpected `==`
--> $DIR/unicode-double-equals-recovery.rs:1:16
|
LL | const A: usize ⩵ 2;
| ^
|
help: try using `=` instead
|
LL | const A: usize = 2;
| ~
```
Fix #127823.
Diffstat (limited to 'compiler/rustc_parse/src/errors.rs')
| -rw-r--r-- | compiler/rustc_parse/src/errors.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/rustc_parse/src/errors.rs b/compiler/rustc_parse/src/errors.rs index 4222486034b..da0701efddb 100644 --- a/compiler/rustc_parse/src/errors.rs +++ b/compiler/rustc_parse/src/errors.rs @@ -660,9 +660,8 @@ pub(crate) struct RemoveLet { #[diag(parse_use_eq_instead)] pub(crate) struct UseEqInstead { #[primary_span] + #[suggestion(style = "verbose", applicability = "machine-applicable", code = "=")] pub span: Span, - #[suggestion(style = "verbose", applicability = "machine-applicable", code = "")] - pub suggestion: Span, } #[derive(Diagnostic)] |
