Skip to content

Commit

Permalink
Add E0532 error explanation
Browse files Browse the repository at this point in the history
  • Loading branch information
AndiDog committed Oct 31, 2016
1 parent 36d7467 commit c8937e0
Showing 1 changed file with 41 additions and 1 deletion.
42 changes: 41 additions & 1 deletion src/librustc_resolve/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1461,6 +1461,47 @@ match r {
```
"##,

E0532: r##"
Pattern arm did not match expected kind.
Erroneous code example:
```compile_fail,E0532
enum State {
Succeeded,
Failed(String),
}
fn print_on_failure(state: &State) {
match *state {
// error: expected unit struct/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:
```
enum State {
Succeeded,
Failed(String),
}
fn print_on_failure(state: &State) {
match *state {
State::Failed(ref msg) => println!("Failed with {}", msg),
_ => ()
}
}
```
"##,

}

register_diagnostics! {
Expand All @@ -1480,6 +1521,5 @@ register_diagnostics! {
// E0421, merged into 531
// E0422, merged into 531/532
E0531, // unresolved pattern path kind `name`
E0532, // expected pattern path kind, found another pattern path kind
// E0427, merged into 530
}

0 comments on commit c8937e0

Please sign in to comment.