Email me

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.

E0025Types and traits
Activein rustc 1.99.0
6related errors linked below

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

All 518 Rust error codes · Rust crate data · Glossary

Up next

Often hit nextE0308: mismatched typesA related error from the same family.Read it next →

Did this answer your question?

Get the receipts by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ