E0162 - Error codes index
Description: Book listing all Rust error codes

## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Error code E0162

#### Note: this error code is no longer emitted by the compiler.

An `if let` pattern attempts to match the pattern, and enters the body if the match was successful. If the match is irrefutable (when it cannot fail to match), use a regular `let`-binding instead. For instance:

    #![allow(unused)]
    fn main() {
    struct Irrefutable(i32);
    let irr = Irrefutable(0);

    // This fails to compile because the match is irrefutable.
    if let Irrefutable(x) = irr {
        // This body will always be executed.
        // ...
    }
    }

Try this instead:

    #![allow(unused)]
    fn main() {
    struct Irrefutable(i32);
    let irr = Irrefutable(0);

    let Irrefutable(x) = irr;
    println!("{}", x);
    }