Error code E0532

Pattern arm did not match expected kind.

Erroneous code example:

#![allow(unused)] fn main() { enum State { Succeeded, Failed(String), } fn print_on_failure(state: &State) { match *state { // error: expected unit struct, unit variant or constant, found tuple // variant `State::Failed` State::Failed => println!("Failed"), _ => () } } }

To fix this error, ensure the match arm kind is the same as the expression matched.

Fixed example:

#![allow(unused)] fn main() { enum State { Succeeded, Failed(String), } fn print_on_failure(state: &State) { match *state { State::Failed(ref msg) => println!("Failed with {}", msg), _ => () } } }