]> git.lizzy.rs Git - rust.git/blob - src/test/ui/consts/const-match-check.eval1.stderr
Suggest `if let`/`let_else` for refutable pat in `let`
[rust.git] / src / test / ui / consts / const-match-check.eval1.stderr
1 error[E0005]: refutable pattern in local binding: `i32::MIN..=-1_i32` and `1_i32..=i32::MAX` not covered
2   --> $DIR/const-match-check.rs:25:15
3    |
4 LL |     A = { let 0 = 0; 0 },
5    |               ^ patterns `i32::MIN..=-1_i32` and `1_i32..=i32::MAX` not covered
6    |
7    = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant
8    = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html
9    = note: the matched value is of type `i32`
10 help: you might want to use `if let` to ignore the variants that aren't matched
11    |
12 LL |     A = { if let 0 = 0 { todo!() } 0 },
13    |           ++           ~~~~~~~~~~~
14 help: alternatively, on nightly, you might want to use `#![feature(let_else)]` to handle the variants that aren't matched
15    |
16 LL |     A = { let 0 = 0 else { todo!() }; 0 },
17    |                     ++++++++++++++++
18
19 error: aborting due to previous error
20
21 For more information about this error, try `rustc --explain E0005`.