Add suggestion for incorrect field syntax.
This commit adds a suggestion when a `=` character is used when specifying the value of a field in a struct constructor incorrectly instead of a `:` character.
This commit is contained in:
parent
6bba352cad
commit
f14d007ee4
4 changed files with 109 additions and 1 deletions
37
src/test/ui/issues/issue-57684.fixed
Normal file
37
src/test/ui/issues/issue-57684.fixed
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
// run-rustfix
|
||||
|
||||
#![allow(warnings)]
|
||||
|
||||
// This test checks that the following error is emitted when a `=` character is used to initialize
|
||||
// a struct field when a `:` is expected.
|
||||
//
|
||||
// ```
|
||||
// error: struct fields are initialized with a colon
|
||||
// --> $DIR/issue-57684.rs:12:20
|
||||
// |
|
||||
// LL | let _ = X { f1 = 5 };
|
||||
// | ^ help: replace equals symbol with a colon: `:`
|
||||
// ```
|
||||
|
||||
struct X {
|
||||
f1: i32,
|
||||
}
|
||||
|
||||
struct Y {
|
||||
f1: i32,
|
||||
f2: i32,
|
||||
f3: i32,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let _ = X { f1: 5 };
|
||||
//~^ ERROR expected `:`, found `=`
|
||||
|
||||
let f3 = 3;
|
||||
let _ = Y {
|
||||
f1: 5,
|
||||
//~^ ERROR expected `:`, found `=`
|
||||
f2: 4,
|
||||
f3,
|
||||
};
|
||||
}
|
||||
37
src/test/ui/issues/issue-57684.rs
Normal file
37
src/test/ui/issues/issue-57684.rs
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
// run-rustfix
|
||||
|
||||
#![allow(warnings)]
|
||||
|
||||
// This test checks that the following error is emitted when a `=` character is used to initialize
|
||||
// a struct field when a `:` is expected.
|
||||
//
|
||||
// ```
|
||||
// error: struct fields are initialized with a colon
|
||||
// --> $DIR/issue-57684.rs:12:20
|
||||
// |
|
||||
// LL | let _ = X { f1 = 5 };
|
||||
// | ^ help: replace equals symbol with a colon: `:`
|
||||
// ```
|
||||
|
||||
struct X {
|
||||
f1: i32,
|
||||
}
|
||||
|
||||
struct Y {
|
||||
f1: i32,
|
||||
f2: i32,
|
||||
f3: i32,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let _ = X { f1 = 5 };
|
||||
//~^ ERROR expected `:`, found `=`
|
||||
|
||||
let f3 = 3;
|
||||
let _ = Y {
|
||||
f1 = 5,
|
||||
//~^ ERROR expected `:`, found `=`
|
||||
f2: 4,
|
||||
f3,
|
||||
};
|
||||
}
|
||||
18
src/test/ui/issues/issue-57684.stderr
Normal file
18
src/test/ui/issues/issue-57684.stderr
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
error: expected `:`, found `=`
|
||||
--> $DIR/issue-57684.rs:27:20
|
||||
|
|
||||
LL | let _ = X { f1 = 5 };
|
||||
| -^
|
||||
| |
|
||||
| help: replace equals symbol with a colon: `:`
|
||||
|
||||
error: expected `:`, found `=`
|
||||
--> $DIR/issue-57684.rs:32:12
|
||||
|
|
||||
LL | f1 = 5,
|
||||
| -^
|
||||
| |
|
||||
| help: replace equals symbol with a colon: `:`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue