Rust errors / Types and traits
Rust compiler error · checked with rustc 1.99.0
Rust error E0025: field `a` bound multiple times in the pattern
What it meansEach field of a struct can only be bound once in a pattern.
What rustc prints
error[E0025]: field `a` bound multiple times in the pattern
--> main.rs:9:21
|
9 | let Foo { a: x, a: y } = x;
| ---- ^^^^ multiple uses of `a` in pattern
| |
| first use of `a`Real output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
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!
}From rustc --explain E0025 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
Up next
Often hit nextE0308: mismatched typesA related error from the same family.Read it next →Did this answer your question?