Files
rust/tests/ui/pattern/usefulness/integer-ranges/precise_pointer_matching-message.rs
2025-09-25 18:15:04 +03:00

19 lines
852 B
Rust

// This tests that the lint message explains the reason for the error.
fn main() {
match 0usize {
//~^ ERROR non-exhaustive patterns: `usize::MAX..` not covered
//~| NOTE pattern `usize::MAX..` not covered
//~| NOTE the matched value is of type `usize`
//~| NOTE `usize::MAX` is not treated as exhaustive, so half-open ranges are necessary to match exhaustively
0..=usize::MAX => {}
}
match 0isize {
//~^ ERROR non-exhaustive patterns: `..isize::MIN` and `isize::MAX..` not covered
//~| NOTE patterns `..isize::MIN` and `isize::MAX..` not covered
//~| NOTE the matched value is of type `isize`
//~| NOTE `isize::MIN` and `isize::MAX` are not treated as exhaustive, so half-open ranges are necessary to match exhaustively
isize::MIN..=isize::MAX => {}
}
}