| Each field of a struct can only be bound once in a pattern. |
| |
| Erroneous code example: |
| |
| ```compile_fail,E0025 |
| 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! |
| } |
| ``` |