Improve E0025 error explanation
This commit is contained in:
parent
612221ff80
commit
5d8dc9076b
1 changed files with 33 additions and 4 deletions
|
|
@ -73,10 +73,39 @@ the enum.
|
|||
"##,
|
||||
|
||||
E0025: r##"
|
||||
Each field of a struct can only be bound once in a pattern. Each occurrence of a
|
||||
field name binds the value of that field, so to fix this error you will have to
|
||||
remove or alter the duplicate uses of the field name. Perhaps you misspelt
|
||||
another field name?
|
||||
Each field of a struct can only be bound once in a pattern. Erroneous code
|
||||
example:
|
||||
|
||||
```
|
||||
struct Foo {
|
||||
a: u8,
|
||||
b: u8,
|
||||
}
|
||||
|
||||
fn main(){
|
||||
let x = Foo { a:1, b:2 };
|
||||
|
||||
let Foo { a: x, a: y } = x;
|
||||
// error: field `a` bound multiple times in the pattern
|
||||
}
|
||||
```
|
||||
|
||||
Each occurrence of a field name binds the value of that field, so to fix this
|
||||
error you will have to remove or alter the duplicate uses of the field name.
|
||||
Perhaps you misspelled another field name? Example:
|
||||
|
||||
```
|
||||
struct Foo {
|
||||
a: u8,
|
||||
b: u8,
|
||||
}
|
||||
|
||||
fn main(){
|
||||
let x = Foo { a:1, b:2 };
|
||||
|
||||
let Foo { a: x, b: y } = x; // ok!
|
||||
}
|
||||
```
|
||||
"##,
|
||||
|
||||
E0026: r##"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue