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:
David Wood 2019-01-23 16:42:23 +01:00
parent 6bba352cad
commit f14d007ee4
No known key found for this signature in database
GPG key ID: 01760B4F9F53F154
4 changed files with 109 additions and 1 deletions

View 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,
};
}

View 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,
};
}

View 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