From b93ecc1dacd3d534b0fa24e4b14cd3b07bae9889 Mon Sep 17 00:00:00 2001 From: Yuki Okushi Date: Sun, 5 Jul 2020 03:40:59 +0900 Subject: Address code reviews --- .../non-exhaustive-pattern-pointer-size-int.rs | 10 ++++++---- .../non-exhaustive-pattern-pointer-size-int.stderr | 21 +++++++++++++++------ 2 files changed, 21 insertions(+), 10 deletions(-) (limited to 'src/test/ui/pattern') diff --git a/src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.rs b/src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.rs index aa6a3ffc522..0c52876e21f 100644 --- a/src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.rs +++ b/src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.rs @@ -5,8 +5,7 @@ fn main() { //~^ ERROR non-exhaustive patterns //~| NOTE pattern `_` not covered //~| NOTE the matched value is of type `usize` - //~| NOTE for `usize` and `isize`, no assumptions about the maximum value are permitted - //~| NOTE to exhaustively match on either pointer-size integer type, wildcards must be used + //~| NOTE `usize` does not have a fixed maximum value 0 ..= usize::MAX => {} } @@ -14,8 +13,11 @@ fn main() { //~^ ERROR non-exhaustive patterns //~| NOTE pattern `_` not covered //~| NOTE the matched value is of type `isize` - //~| NOTE for `usize` and `isize`, no assumptions about the maximum value are permitted - //~| NOTE to exhaustively match on either pointer-size integer type, wildcards must be used + //~| NOTE `isize` does not have a fixed maximum value isize::MIN ..= isize::MAX => {} } + + match 7usize {} + //~^ ERROR non-exhaustive patterns + //~| NOTE the matched value is of type `usize` } diff --git a/src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.stderr b/src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.stderr index cd47e74fa46..d0aa452fd38 100644 --- a/src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.stderr +++ b/src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.stderr @@ -6,20 +6,29 @@ LL | match 0usize { | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms = note: the matched value is of type `usize` - = note: for `usize` and `isize`, no assumptions about the maximum value are permitted - = note: to exhaustively match on either pointer-size integer type, wildcards must be used + = note: `usize` does not have a fixed maximum value, so a wildcard `_` is necessary to match exhaustively + = help: add `#![feature(precise_pointer_size_matching)]` to the crate attributes to enable precise `usize` matching error[E0004]: non-exhaustive patterns: `_` not covered - --> $DIR/non-exhaustive-pattern-pointer-size-int.rs:13:11 + --> $DIR/non-exhaustive-pattern-pointer-size-int.rs:12:11 | LL | match 0isize { | ^^^^^^ pattern `_` not covered | = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms = note: the matched value is of type `isize` - = note: for `usize` and `isize`, no assumptions about the maximum value are permitted - = note: to exhaustively match on either pointer-size integer type, wildcards must be used + = note: `isize` does not have a fixed maximum value, so a wildcard `_` is necessary to match exhaustively + = help: add `#![feature(precise_pointer_size_matching)]` to the crate attributes to enable precise `isize` matching -error: aborting due to 2 previous errors +error[E0004]: non-exhaustive patterns: type `usize` is non-empty + --> $DIR/non-exhaustive-pattern-pointer-size-int.rs:20:11 + | +LL | match 7usize {} + | ^^^^^^ + | + = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms + = note: the matched value is of type `usize` + +error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0004`. -- cgit 1.4.1-3-g733a5