error[E0005]: refutable pattern in local binding --> $DIR/bad-pattern.rs:13:13 | LL | let 0 = v1; | ^ pattern `1_u32..=u32::MAX` not covered | = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html = note: the matched value is of type `u32` help: you might want to use `if let` to ignore the variant that isn't matched | LL | if let 0 = v1 { todo!() }; | ++ +++++++++++ help: alternatively, you could prepend the pattern with an underscore to define a new named variable; identifiers cannot begin with digits | LL | let _0 = v1; | + error[E0005]: refutable pattern in local binding --> $DIR/bad-pattern.rs:14:14 | LL | let (0 | 1) = v1; | ^^^^^ pattern `2_u32..=u32::MAX` not covered | = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html = note: the matched value is of type `u32` help: you might want to use `if let` to ignore the variant that isn't matched | LL | if let (0 | 1) = v1 { todo!() }; | ++ +++++++++++ error[E0005]: refutable pattern in local binding --> $DIR/bad-pattern.rs:15:13 | LL | let 1.. = v1; | ^^^ pattern `0_u32` not covered | = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html = note: the matched value is of type `u32` help: you might want to use `if let` to ignore the variant that isn't matched | LL | if let 1.. = v1 { todo!() }; | ++ +++++++++++ error[E0005]: refutable pattern in local binding --> $DIR/bad-pattern.rs:16:13 | LL | let [0, 0, 0, 0] = v2; | ^^^^^^^^^^^^ pattern `[1_u32..=u32::MAX, _, _, _]` not covered | = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html = note: the matched value is of type `[u32; 4]` help: you might want to use `if let` to ignore the variant that isn't matched | LL | if let [0, 0, 0, 0] = v2 { todo!() }; | ++ +++++++++++ error[E0005]: refutable pattern in local binding --> $DIR/bad-pattern.rs:17:13 | LL | let [0] = v4; | ^^^ patterns `&[]` and `&[_, _, ..]` not covered | = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html = note: the matched value is of type `&[u32]` help: you might want to use `if let` to ignore the variants that aren't matched | LL | if let [0] = v4 { todo!() }; | ++ +++++++++++ error[E0005]: refutable pattern in local binding --> $DIR/bad-pattern.rs:18:13 | LL | let Refutable::A = v3; | ^^^^^^^^^^^^ pattern `Refutable::B` not covered | = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html note: `Refutable` defined here --> $DIR/bad-pattern.rs:4:6 | LL | enum Refutable { | ^^^^^^^^^ LL | A, LL | B, | - not covered = note: the matched value is of type `Refutable` help: you might want to use `if let` to ignore the variant that isn't matched | LL | if let Refutable::A = v3 { todo!() }; | ++ +++++++++++ error[E0005]: refutable pattern in local binding --> $DIR/bad-pattern.rs:19:13 | LL | let PAT = v1; | ^^^ | | | pattern `1_u32..=u32::MAX` not covered | missing patterns are not covered because `PAT` is interpreted as a constant pattern, not a new variable | help: introduce a variable instead: `PAT_var` | = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html = note: the matched value is of type `u32` error: aborting due to 7 previous errors For more information about this error, try `rustc --explain E0005`.