a5b4d458a1
``` error[E0004]: non-exhaustive patterns: `i32::MIN..=3_i32` and `5_i32..=i32::MAX` not covered --> $DIR/intended-binding-pattern-is-const.rs:2:11 | LL | match 1 { | ^ patterns `i32::MIN..=3_i32` and `5_i32..=i32::MAX` not covered LL | x => {} | - this pattern doesn't introduce a new catch-all binding, but rather pattern matches against the value of constant `x` | = note: the matched value is of type `i32` note: constant `x` defined here --> $DIR/intended-binding-pattern-is-const.rs:7:5 | LL | const x: i32 = 4; | ^^^^^^^^^^^^ help: if you meant to introduce a binding, use a different name | LL | x_var => {} | ++++ help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms | LL | x => {}, i32::MIN..=3_i32 | 5_i32..=i32::MAX => todo!() | ++++++++++++++++++++++++++++++++++++++++++++++++ ```
10 lines
467 B
Rust
10 lines
467 B
Rust
fn main() {
|
|
match 1 { //~ ERROR non-exhaustive patterns
|
|
//~^ patterns `i32::MIN..=3_i32` and `5_i32..=i32::MAX` not covered
|
|
//~| the matched value is of type `i32`
|
|
x => {} //~ this pattern doesn't introduce a new catch-all binding
|
|
//~^ HELP ensure that all possible cases are being handled
|
|
//~| HELP if you meant to introduce a binding, use a different name
|
|
}
|
|
const x: i32 = 4; //~ NOTE constant `x` defined here
|
|
}
|