Update existing tests with more precise error messages
This commit is contained in:
parent
e018268ffa
commit
4fc5758a67
19 changed files with 102 additions and 76 deletions
|
@ -0,0 +1,8 @@
|
|||
warning: unreachable pattern
|
||||
--> $DIR/vec-matching-autoslice.rs:31:9
|
||||
|
|
||||
LL | ([_, _], _) => panic!(),
|
||||
| ^^^^^^^^^^^
|
||||
|
|
||||
= note: #[warn(unreachable_patterns)] on by default
|
||||
|
20
src/test/run-pass/binding/match-range.stderr
Normal file
20
src/test/run-pass/binding/match-range.stderr
Normal file
|
@ -0,0 +1,20 @@
|
|||
warning: unreachable pattern
|
||||
--> $DIR/match-range.rs:47:7
|
||||
|
|
||||
LL | _ => panic!("should match float range")
|
||||
| ^
|
||||
|
|
||||
= note: #[warn(unreachable_patterns)] on by default
|
||||
|
||||
warning: unreachable pattern
|
||||
--> $DIR/match-range.rs:55:9
|
||||
|
|
||||
LL | _ => {},
|
||||
| ^
|
||||
|
||||
warning: unreachable pattern
|
||||
--> $DIR/match-range.rs:59:9
|
||||
|
|
||||
LL | _ => panic!("should match the range start"),
|
||||
| ^
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
warning: unreachable pattern
|
||||
--> $DIR/issue-15881-model-lexer-dotdotdot.rs:41:7
|
||||
|
|
||||
LL | _ => panic!("should match float range")
|
||||
| ^
|
||||
|
|
||||
= note: #[warn(unreachable_patterns)] on by default
|
||||
|
8
src/test/run-pass/issues/issue-7222.stderr
Normal file
8
src/test/run-pass/issues/issue-7222.stderr
Normal file
|
@ -0,0 +1,8 @@
|
|||
warning: unreachable pattern
|
||||
--> $DIR/issue-7222.rs:20:9
|
||||
|
|
||||
LL | _ => ()
|
||||
| ^
|
||||
|
|
||||
= note: #[warn(unreachable_patterns)] on by default
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
error[E0005]: refutable pattern in local binding: `-2147483648i32..=-1i32` not covered
|
||||
--> $DIR/const-match-check.rs:35:15
|
||||
|
|
||||
LL | A = { let 0 = 0; 0 },
|
||||
| ^ pattern `_` not covered
|
||||
| ^ pattern `-2147483648i32..=-1i32` not covered
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
error[E0005]: refutable pattern in local binding: `-2147483648i32..=-1i32` not covered
|
||||
--> $DIR/const-match-check.rs:41:24
|
||||
|
|
||||
LL | let x: [i32; { let 0 = 0; 0 }] = [];
|
||||
| ^ pattern `_` not covered
|
||||
| ^ pattern `-2147483648i32..=-1i32` not covered
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
error[E0005]: refutable pattern in local binding: `-2147483648i32..=-1i32` not covered
|
||||
--> $DIR/const-match-check.rs:14:22
|
||||
|
|
||||
LL | const X: i32 = { let 0 = 0; 0 };
|
||||
| ^ pattern `_` not covered
|
||||
| ^ pattern `-2147483648i32..=-1i32` not covered
|
||||
|
||||
error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
error[E0005]: refutable pattern in local binding: `-2147483648i32..=-1i32` not covered
|
||||
--> $DIR/const-match-check.rs:18:23
|
||||
|
|
||||
LL | static Y: i32 = { let 0 = 0; 0 };
|
||||
| ^ pattern `_` not covered
|
||||
| ^ pattern `-2147483648i32..=-1i32` not covered
|
||||
|
||||
error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
error[E0005]: refutable pattern in local binding: `-2147483648i32..=-1i32` not covered
|
||||
--> $DIR/const-match-check.rs:23:26
|
||||
|
|
||||
LL | const X: i32 = { let 0 = 0; 0 };
|
||||
| ^ pattern `_` not covered
|
||||
| ^ pattern `-2147483648i32..=-1i32` not covered
|
||||
|
||||
error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
error[E0005]: refutable pattern in local binding: `-2147483648i32..=-1i32` not covered
|
||||
--> $DIR/const-match-check.rs:29:26
|
||||
|
|
||||
LL | const X: i32 = { let 0 = 0; 0 };
|
||||
| ^ pattern `_` not covered
|
||||
| ^ pattern `-2147483648i32..=-1i32` not covered
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ use foo::d;
|
|||
const a: u8 = 2;
|
||||
|
||||
fn main() {
|
||||
let a = 4; //~ ERROR refutable pattern in local binding: `_` not covered
|
||||
let c = 4; //~ ERROR refutable pattern in local binding: `_` not covered
|
||||
let d = 4; //~ ERROR refutable pattern in local binding: `_` not covered
|
||||
let a = 4; //~ ERROR refutable pattern in local binding: `0u8..=1u8` not covered
|
||||
let c = 4; //~ ERROR refutable pattern in local binding: `0u8..=1u8` not covered
|
||||
let d = 4; //~ ERROR refutable pattern in local binding: `0u8..=1u8` not covered
|
||||
fn f() {} // Check that the `NOTE`s still work with an item here (c.f. issue #35115).
|
||||
}
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
error[E0005]: refutable pattern in local binding: `0u8..=1u8` not covered
|
||||
--> $DIR/const-pattern-irrefutable.rs:22:9
|
||||
|
|
||||
LL | let a = 4; //~ ERROR refutable pattern in local binding: `_` not covered
|
||||
LL | let a = 4; //~ ERROR refutable pattern in local binding: `0u8..=1u8` not covered
|
||||
| ^ interpreted as a constant pattern, not new variable
|
||||
|
||||
error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
error[E0005]: refutable pattern in local binding: `0u8..=1u8` not covered
|
||||
--> $DIR/const-pattern-irrefutable.rs:23:9
|
||||
|
|
||||
LL | let c = 4; //~ ERROR refutable pattern in local binding: `_` not covered
|
||||
LL | let c = 4; //~ ERROR refutable pattern in local binding: `0u8..=1u8` not covered
|
||||
| ^ interpreted as a constant pattern, not new variable
|
||||
|
||||
error[E0005]: refutable pattern in local binding: `_` not covered
|
||||
error[E0005]: refutable pattern in local binding: `0u8..=1u8` not covered
|
||||
--> $DIR/const-pattern-irrefutable.rs:24:9
|
||||
|
|
||||
LL | let d = 4; //~ ERROR refutable pattern in local binding: `_` not covered
|
||||
LL | let d = 4; //~ ERROR refutable pattern in local binding: `0u8..=1u8` not covered
|
||||
| ^ interpreted as a constant pattern, not new variable
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
error: unreachable pattern
|
||||
--> $DIR/exhaustive_integer_patterns.rs:32:9
|
||||
--> $DIR/exhaustive_integer_patterns.rs:33:9
|
||||
|
|
||||
LL | 200 => {} //~ ERROR unreachable pattern
|
||||
| ^^^
|
||||
|
|
||||
note: lint level defined here
|
||||
--> $DIR/exhaustive_integer_patterns.rs:13:9
|
||||
--> $DIR/exhaustive_integer_patterns.rs:14:9
|
||||
|
|
||||
LL | #![deny(unreachable_patterns)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `128u8..=255u8` not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:37:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:38:11
|
||||
|
|
||||
LL | match x { //~ ERROR non-exhaustive patterns
|
||||
| ^ pattern `128u8..=255u8` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `11u8..=19u8`, `31u8..=34u8`, `36u8..=69u8` and 1 more not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:42:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:43:11
|
||||
|
|
||||
LL | match x { //~ ERROR non-exhaustive patterns
|
||||
| ^ patterns `11u8..=19u8`, `31u8..=34u8`, `36u8..=69u8` and 1 more not covered
|
||||
|
||||
error: unreachable pattern
|
||||
--> $DIR/exhaustive_integer_patterns.rs:53:9
|
||||
--> $DIR/exhaustive_integer_patterns.rs:54:9
|
||||
|
|
||||
LL | -2..=20 => {} //~ ERROR unreachable pattern
|
||||
| ^^^^^^^
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `-128i8..=-8i8`, `-6i8`, `121i8..=124i8` and 1 more not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:50:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:51:11
|
||||
|
|
||||
LL | match x { //~ ERROR non-exhaustive patterns
|
||||
| ^ patterns `-128i8..=-8i8`, `-6i8`, `121i8..=124i8` and 1 more not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `-128i8` not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:99:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:100:11
|
||||
|
|
||||
LL | match 0i8 { //~ ERROR non-exhaustive patterns
|
||||
| ^^^ pattern `-128i8` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `0i16` not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:107:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:108:11
|
||||
|
|
||||
LL | match 0i16 { //~ ERROR non-exhaustive patterns
|
||||
| ^^^^ pattern `0i16` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `128u8..=255u8` not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:125:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:126:11
|
||||
|
|
||||
LL | match 0u8 { //~ ERROR non-exhaustive patterns
|
||||
| ^^^ pattern `128u8..=255u8` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `(0u8, Some(_))` and `(2u8..=255u8, Some(_))` not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:137:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:138:11
|
||||
|
|
||||
LL | match (0u8, Some(())) { //~ ERROR non-exhaustive patterns
|
||||
| ^^^^^^^^^^^^^^^ patterns `(0u8, Some(_))` and `(2u8..=255u8, Some(_))` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `(126u8..=127u8, false)` not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:142:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:143:11
|
||||
|
|
||||
LL | match (0u8, true) { //~ ERROR non-exhaustive patterns
|
||||
| ^^^^^^^^^^^ pattern `(126u8..=127u8, false)` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `340282366920938463463374607431768211455u128` not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:162:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:163:11
|
||||
|
|
||||
LL | match 0u128 { //~ ERROR non-exhaustive patterns
|
||||
| ^^^^^ pattern `340282366920938463463374607431768211455u128` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `5u128..=340282366920938463463374607431768211455u128` not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:166:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:167:11
|
||||
|
|
||||
LL | match 0u128 { //~ ERROR non-exhaustive patterns
|
||||
| ^^^^^ pattern `5u128..=340282366920938463463374607431768211455u128` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `0u128..=3u128` not covered
|
||||
--> $DIR/exhaustive_integer_patterns.rs:170:11
|
||||
--> $DIR/exhaustive_integer_patterns.rs:171:11
|
||||
|
|
||||
LL | match 0u128 { //~ ERROR non-exhaustive patterns
|
||||
| ^^^^^ pattern `0u128..=3u128` not covered
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
fn main() {
|
||||
let x: u8 = 0;
|
||||
match x { //~ ERROR non-exhaustive patterns: `_` not covered
|
||||
0 ..= 255 => {}
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
error[E0004]: non-exhaustive patterns: `_` not covered
|
||||
--> $DIR/feature-gate-exhaustive_integer_patterns.rs:13:11
|
||||
|
|
||||
LL | match x { //~ ERROR non-exhaustive patterns: `_` not covered
|
||||
| ^ pattern `_` not covered
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0004`.
|
|
@ -1,8 +1,8 @@
|
|||
error[E0005]: refutable pattern in `for` loop binding: `&_` not covered
|
||||
error[E0005]: refutable pattern in `for` loop binding: `&-2147483648i32..=0i32` not covered
|
||||
--> $DIR/for-loop-refutable-pattern-error-message.rs:12:9
|
||||
|
|
||||
LL | for &1 in [1].iter() {} //~ ERROR refutable pattern in `for` loop binding
|
||||
| ^^ pattern `&_` not covered
|
||||
| ^^ pattern `&-2147483648i32..=0i32` not covered
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
error[E0004]: non-exhaustive patterns: `_` not covered
|
||||
error[E0004]: non-exhaustive patterns: `-2147483648i32..=0i32` and `2i32..=2147483647i32` not covered
|
||||
--> $DIR/match-non-exhaustive.rs:12:11
|
||||
|
|
||||
LL | match 0 { 1 => () } //~ ERROR non-exhaustive patterns
|
||||
| ^ pattern `_` not covered
|
||||
| ^ patterns `-2147483648i32..=0i32` and `2i32..=2147483647i32` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `_` not covered
|
||||
--> $DIR/match-non-exhaustive.rs:13:11
|
||||
|
|
|
@ -62,5 +62,11 @@ error: unreachable pattern
|
|||
LL | 0.02f64 => {}
|
||||
| ^^^^^^^
|
||||
|
||||
error: aborting due to 5 previous errors
|
||||
error: unreachable pattern
|
||||
--> $DIR/match-range-fail-dominate.rs:47:7
|
||||
|
|
||||
LL | _ => {}
|
||||
| ^
|
||||
|
||||
error: aborting due to 6 previous errors
|
||||
|
||||
|
|
|
@ -22,7 +22,8 @@ fn main() {
|
|||
match Some(10) { //~ ERROR non-exhaustive patterns: `Some(_)` not covered
|
||||
None => {}
|
||||
}
|
||||
match (2, 3, 4) { //~ ERROR non-exhaustive patterns: `(_, _, _)` not covered
|
||||
match (2, 3, 4) { //~ ERROR non-exhaustive patterns: `(_, _, -2147483648i32..=3i32)`
|
||||
// and `(_, _, 5i32..=2147483647i32)` not covered
|
||||
(_, _, 4) => {}
|
||||
}
|
||||
match (t::a, t::a) { //~ ERROR non-exhaustive patterns: `(a, a)` not covered
|
||||
|
|
|
@ -16,32 +16,32 @@ error[E0004]: non-exhaustive patterns: `Some(_)` not covered
|
|||
LL | match Some(10) { //~ ERROR non-exhaustive patterns: `Some(_)` not covered
|
||||
| ^^^^^^^^ pattern `Some(_)` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `(_, _, _)` not covered
|
||||
error[E0004]: non-exhaustive patterns: `(_, _, -2147483648i32..=3i32)` and `(_, _, 5i32..=2147483647i32)` not covered
|
||||
--> $DIR/non-exhaustive-match.rs:25:11
|
||||
|
|
||||
LL | match (2, 3, 4) { //~ ERROR non-exhaustive patterns: `(_, _, _)` not covered
|
||||
| ^^^^^^^^^ pattern `(_, _, _)` not covered
|
||||
LL | match (2, 3, 4) { //~ ERROR non-exhaustive patterns: `(_, _, -2147483648i32..=3i32)`
|
||||
| ^^^^^^^^^ patterns `(_, _, -2147483648i32..=3i32)` and `(_, _, 5i32..=2147483647i32)` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `(a, a)` not covered
|
||||
--> $DIR/non-exhaustive-match.rs:28:11
|
||||
--> $DIR/non-exhaustive-match.rs:29:11
|
||||
|
|
||||
LL | match (t::a, t::a) { //~ ERROR non-exhaustive patterns: `(a, a)` not covered
|
||||
| ^^^^^^^^^^^^ pattern `(a, a)` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `b` not covered
|
||||
--> $DIR/non-exhaustive-match.rs:32:11
|
||||
--> $DIR/non-exhaustive-match.rs:33:11
|
||||
|
|
||||
LL | match t::a { //~ ERROR non-exhaustive patterns: `b` not covered
|
||||
| ^^^^ pattern `b` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `[]` not covered
|
||||
--> $DIR/non-exhaustive-match.rs:43:11
|
||||
--> $DIR/non-exhaustive-match.rs:44:11
|
||||
|
|
||||
LL | match *vec { //~ ERROR non-exhaustive patterns: `[]` not covered
|
||||
| ^^^^ pattern `[]` not covered
|
||||
|
||||
error[E0004]: non-exhaustive patterns: `[_, _, _, _]` not covered
|
||||
--> $DIR/non-exhaustive-match.rs:56:11
|
||||
--> $DIR/non-exhaustive-match.rs:57:11
|
||||
|
|
||||
LL | match *vec { //~ ERROR non-exhaustive patterns: `[_, _, _, _]` not covered
|
||||
| ^^^^ pattern `[_, _, _, _]` not covered
|
||||
|
|
|
@ -14,5 +14,5 @@ fn func((1, (Some(1), 2..=3)): (isize, (Option<isize>, isize))) { }
|
|||
|
||||
fn main() {
|
||||
let (1, (Some(1), 2..=3)) = (1, (None, 2));
|
||||
//~^ ERROR refutable pattern in local binding: `(_, _)` not covered
|
||||
//~^ ERROR refutable pattern in local binding: `(-2147483648i32..=0i32, _)` not covered
|
||||
}
|
||||
|
|
|
@ -4,11 +4,11 @@ error[E0005]: refutable pattern in function argument: `(_, _)` not covered
|
|||
LL | fn func((1, (Some(1), 2..=3)): (isize, (Option<isize>, isize))) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ pattern `(_, _)` not covered
|
||||
|
||||
error[E0005]: refutable pattern in local binding: `(_, _)` not covered
|
||||
error[E0005]: refutable pattern in local binding: `(-2147483648i32..=0i32, _)` not covered
|
||||
--> $DIR/refutable-pattern-errors.rs:16:9
|
||||
|
|
||||
LL | let (1, (Some(1), 2..=3)) = (1, (None, 2));
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ pattern `(_, _)` not covered
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ pattern `(-2147483648i32..=0i32, _)` not covered
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue