about summary refs log tree commit diff
path: root/src/test/ui/pattern
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2020-07-05 03:40:59 +0900
committerYuki Okushi <huyuumi.dev@gmail.com>2020-07-05 03:43:43 +0900
commitb93ecc1dacd3d534b0fa24e4b14cd3b07bae9889 (patch)
tree3f371ffe374d490ad1e403003bbfbc9574f6764e /src/test/ui/pattern
parentdcbe85abad8ddd3a39fcafe70a884db4e71f0b03 (diff)
downloadrust-b93ecc1dacd3d534b0fa24e4b14cd3b07bae9889.tar.gz
rust-b93ecc1dacd3d534b0fa24e4b14cd3b07bae9889.zip
Address code reviews
Diffstat (limited to 'src/test/ui/pattern')
-rw-r--r--src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.rs10
-rw-r--r--src/test/ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.stderr21
2 files changed, 21 insertions, 10 deletions
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`.