about summary refs log tree commit diff
path: root/tests/ui/pattern/usefulness/integer-ranges/precise_pointer_matching-message.rs
blob: 6a0106134b50a4469b75b637b1b328df0a7f0315 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 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 => {}
    }
}