From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/reachable/README.md | 7 ---- .../ui/reachable/auxiliary/unreachable_variant.rs | 5 --- src/test/ui/reachable/expr_add.rs | 18 ---------- src/test/ui/reachable/expr_add.stderr | 17 --------- src/test/ui/reachable/expr_again.rs | 11 ------ src/test/ui/reachable/expr_again.stderr | 17 --------- src/test/ui/reachable/expr_andand.rs | 13 ------- src/test/ui/reachable/expr_array.rs | 17 --------- src/test/ui/reachable/expr_array.stderr | 25 ------------- src/test/ui/reachable/expr_assign.rs | 29 --------------- src/test/ui/reachable/expr_assign.stderr | 33 ----------------- src/test/ui/reachable/expr_block.rs | 31 ---------------- src/test/ui/reachable/expr_block.stderr | 26 -------------- src/test/ui/reachable/expr_box.rs | 8 ----- src/test/ui/reachable/expr_box.stderr | 17 --------- src/test/ui/reachable/expr_call.rs | 21 ----------- src/test/ui/reachable/expr_call.stderr | 24 ------------- src/test/ui/reachable/expr_cast.rs | 13 ------- src/test/ui/reachable/expr_cast.stderr | 24 ------------- src/test/ui/reachable/expr_if.rs | 31 ---------------- src/test/ui/reachable/expr_if.stderr | 30 ---------------- src/test/ui/reachable/expr_loop.rs | 36 ------------------- src/test/ui/reachable/expr_loop.stderr | 37 ------------------- src/test/ui/reachable/expr_match.rs | 39 -------------------- src/test/ui/reachable/expr_match.stderr | 27 -------------- src/test/ui/reachable/expr_method.rs | 24 ------------- src/test/ui/reachable/expr_method.stderr | 24 ------------- src/test/ui/reachable/expr_oror.rs | 12 ------- src/test/ui/reachable/expr_repeat.rs | 12 ------- src/test/ui/reachable/expr_repeat.stderr | 17 --------- src/test/ui/reachable/expr_return.rs | 13 ------- src/test/ui/reachable/expr_return.stderr | 17 --------- src/test/ui/reachable/expr_return_in_macro.rs | 15 -------- src/test/ui/reachable/expr_return_in_macro.stderr | 17 --------- src/test/ui/reachable/expr_struct.rs | 32 ----------------- src/test/ui/reachable/expr_struct.stderr | 42 ---------------------- src/test/ui/reachable/expr_tup.rs | 17 --------- src/test/ui/reachable/expr_tup.stderr | 25 ------------- src/test/ui/reachable/expr_type.rs | 12 ------- src/test/ui/reachable/expr_type.stderr | 17 --------- src/test/ui/reachable/expr_unary.rs | 12 ------- src/test/ui/reachable/expr_unary.stderr | 24 ------------- src/test/ui/reachable/expr_while.rs | 29 --------------- src/test/ui/reachable/expr_while.stderr | 32 ----------------- src/test/ui/reachable/unreachable-arm.rs | 14 -------- src/test/ui/reachable/unreachable-arm.stderr | 14 -------- src/test/ui/reachable/unreachable-code-ret.rs | 8 ----- src/test/ui/reachable/unreachable-code-ret.stderr | 17 --------- src/test/ui/reachable/unreachable-code.rs | 8 ----- src/test/ui/reachable/unreachable-code.stderr | 17 --------- src/test/ui/reachable/unreachable-in-call.rs | 22 ------------ src/test/ui/reachable/unreachable-in-call.stderr | 25 ------------- src/test/ui/reachable/unreachable-loop-patterns.rs | 20 ----------- .../ui/reachable/unreachable-loop-patterns.stderr | 14 -------- src/test/ui/reachable/unreachable-try-pattern.rs | 41 --------------------- .../ui/reachable/unreachable-try-pattern.stderr | 35 ------------------ src/test/ui/reachable/unreachable-variant.rs | 7 ---- src/test/ui/reachable/unreachable-variant.stderr | 15 -------- src/test/ui/reachable/unwarned-match-on-never.rs | 24 ------------- .../ui/reachable/unwarned-match-on-never.stderr | 35 ------------------ 60 files changed, 1265 deletions(-) delete mode 100644 src/test/ui/reachable/README.md delete mode 100644 src/test/ui/reachable/auxiliary/unreachable_variant.rs delete mode 100644 src/test/ui/reachable/expr_add.rs delete mode 100644 src/test/ui/reachable/expr_add.stderr delete mode 100644 src/test/ui/reachable/expr_again.rs delete mode 100644 src/test/ui/reachable/expr_again.stderr delete mode 100644 src/test/ui/reachable/expr_andand.rs delete mode 100644 src/test/ui/reachable/expr_array.rs delete mode 100644 src/test/ui/reachable/expr_array.stderr delete mode 100644 src/test/ui/reachable/expr_assign.rs delete mode 100644 src/test/ui/reachable/expr_assign.stderr delete mode 100644 src/test/ui/reachable/expr_block.rs delete mode 100644 src/test/ui/reachable/expr_block.stderr delete mode 100644 src/test/ui/reachable/expr_box.rs delete mode 100644 src/test/ui/reachable/expr_box.stderr delete mode 100644 src/test/ui/reachable/expr_call.rs delete mode 100644 src/test/ui/reachable/expr_call.stderr delete mode 100644 src/test/ui/reachable/expr_cast.rs delete mode 100644 src/test/ui/reachable/expr_cast.stderr delete mode 100644 src/test/ui/reachable/expr_if.rs delete mode 100644 src/test/ui/reachable/expr_if.stderr delete mode 100644 src/test/ui/reachable/expr_loop.rs delete mode 100644 src/test/ui/reachable/expr_loop.stderr delete mode 100644 src/test/ui/reachable/expr_match.rs delete mode 100644 src/test/ui/reachable/expr_match.stderr delete mode 100644 src/test/ui/reachable/expr_method.rs delete mode 100644 src/test/ui/reachable/expr_method.stderr delete mode 100644 src/test/ui/reachable/expr_oror.rs delete mode 100644 src/test/ui/reachable/expr_repeat.rs delete mode 100644 src/test/ui/reachable/expr_repeat.stderr delete mode 100644 src/test/ui/reachable/expr_return.rs delete mode 100644 src/test/ui/reachable/expr_return.stderr delete mode 100644 src/test/ui/reachable/expr_return_in_macro.rs delete mode 100644 src/test/ui/reachable/expr_return_in_macro.stderr delete mode 100644 src/test/ui/reachable/expr_struct.rs delete mode 100644 src/test/ui/reachable/expr_struct.stderr delete mode 100644 src/test/ui/reachable/expr_tup.rs delete mode 100644 src/test/ui/reachable/expr_tup.stderr delete mode 100644 src/test/ui/reachable/expr_type.rs delete mode 100644 src/test/ui/reachable/expr_type.stderr delete mode 100644 src/test/ui/reachable/expr_unary.rs delete mode 100644 src/test/ui/reachable/expr_unary.stderr delete mode 100644 src/test/ui/reachable/expr_while.rs delete mode 100644 src/test/ui/reachable/expr_while.stderr delete mode 100644 src/test/ui/reachable/unreachable-arm.rs delete mode 100644 src/test/ui/reachable/unreachable-arm.stderr delete mode 100644 src/test/ui/reachable/unreachable-code-ret.rs delete mode 100644 src/test/ui/reachable/unreachable-code-ret.stderr delete mode 100644 src/test/ui/reachable/unreachable-code.rs delete mode 100644 src/test/ui/reachable/unreachable-code.stderr delete mode 100644 src/test/ui/reachable/unreachable-in-call.rs delete mode 100644 src/test/ui/reachable/unreachable-in-call.stderr delete mode 100644 src/test/ui/reachable/unreachable-loop-patterns.rs delete mode 100644 src/test/ui/reachable/unreachable-loop-patterns.stderr delete mode 100644 src/test/ui/reachable/unreachable-try-pattern.rs delete mode 100644 src/test/ui/reachable/unreachable-try-pattern.stderr delete mode 100644 src/test/ui/reachable/unreachable-variant.rs delete mode 100644 src/test/ui/reachable/unreachable-variant.stderr delete mode 100644 src/test/ui/reachable/unwarned-match-on-never.rs delete mode 100644 src/test/ui/reachable/unwarned-match-on-never.stderr (limited to 'src/test/ui/reachable') diff --git a/src/test/ui/reachable/README.md b/src/test/ui/reachable/README.md deleted file mode 100644 index 8bed5fba7..000000000 --- a/src/test/ui/reachable/README.md +++ /dev/null @@ -1,7 +0,0 @@ -A variety of tests around reachability. These tests in general check -two things: - -- that we get unreachable code warnings in reasonable locations; -- that we permit coercions **into** `!` from expressions which - diverge, where an expression "diverges" if it must execute some - subexpression of type `!`, or it has type `!` itself. diff --git a/src/test/ui/reachable/auxiliary/unreachable_variant.rs b/src/test/ui/reachable/auxiliary/unreachable_variant.rs deleted file mode 100644 index 4e94a4b5e..000000000 --- a/src/test/ui/reachable/auxiliary/unreachable_variant.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod super_sekrit { - pub enum sooper_sekrit { - quux, baz - } -} diff --git a/src/test/ui/reachable/expr_add.rs b/src/test/ui/reachable/expr_add.rs deleted file mode 100644 index b45e5daf4..000000000 --- a/src/test/ui/reachable/expr_add.rs +++ /dev/null @@ -1,18 +0,0 @@ -#![feature(never_type)] -#![allow(unused_variables)] -#![deny(unreachable_code)] - -use std::ops; - -struct Foo; - -impl ops::Add for Foo { - type Output = !; - fn add(self, rhs: !) -> ! { - unimplemented!() - } -} - -fn main() { - let x = Foo + return; //~ ERROR unreachable -} diff --git a/src/test/ui/reachable/expr_add.stderr b/src/test/ui/reachable/expr_add.stderr deleted file mode 100644 index 692bd20f5..000000000 --- a/src/test/ui/reachable/expr_add.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: unreachable expression - --> $DIR/expr_add.rs:17:13 - | -LL | let x = Foo + return; - | ^^^^^^------ - | | | - | | any code following this expression is unreachable - | unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_add.rs:3:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/expr_again.rs b/src/test/ui/reachable/expr_again.rs deleted file mode 100644 index 604932133..000000000 --- a/src/test/ui/reachable/expr_again.rs +++ /dev/null @@ -1,11 +0,0 @@ -#![allow(unused_variables)] - -#![deny(unreachable_code)] - -fn main() { - let x = loop { - continue; - println!("hi"); - //~^ ERROR unreachable statement - }; -} diff --git a/src/test/ui/reachable/expr_again.stderr b/src/test/ui/reachable/expr_again.stderr deleted file mode 100644 index a3c54e135..000000000 --- a/src/test/ui/reachable/expr_again.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: unreachable statement - --> $DIR/expr_again.rs:8:9 - | -LL | continue; - | -------- any code following this expression is unreachable -LL | println!("hi"); - | ^^^^^^^^^^^^^^ unreachable statement - | -note: the lint level is defined here - --> $DIR/expr_again.rs:3:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/expr_andand.rs b/src/test/ui/reachable/expr_andand.rs deleted file mode 100644 index d37eb0a3b..000000000 --- a/src/test/ui/reachable/expr_andand.rs +++ /dev/null @@ -1,13 +0,0 @@ -// build-pass (FIXME(62277): could be check-pass?) - -#![allow(unused_variables)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn foo() { - // No error here. - let x = false && (return); - println!("I am not dead."); -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_array.rs b/src/test/ui/reachable/expr_array.rs deleted file mode 100644 index e6bdb9705..000000000 --- a/src/test/ui/reachable/expr_array.rs +++ /dev/null @@ -1,17 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] -#![feature(type_ascription)] - -fn a() { - // the `22` is unreachable: - let x: [usize; 2] = [return, 22]; //~ ERROR unreachable -} - -fn b() { - // the array is unreachable: - let x: [usize; 2] = [22, return]; //~ ERROR unreachable -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_array.stderr b/src/test/ui/reachable/expr_array.stderr deleted file mode 100644 index e144d7184..000000000 --- a/src/test/ui/reachable/expr_array.stderr +++ /dev/null @@ -1,25 +0,0 @@ -error: unreachable expression - --> $DIR/expr_array.rs:9:34 - | -LL | let x: [usize; 2] = [return, 22]; - | ------ ^^ unreachable expression - | | - | any code following this expression is unreachable - | -note: the lint level is defined here - --> $DIR/expr_array.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable expression - --> $DIR/expr_array.rs:14:25 - | -LL | let x: [usize; 2] = [22, return]; - | ^^^^^------^ - | | | - | | any code following this expression is unreachable - | unreachable expression - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/reachable/expr_assign.rs b/src/test/ui/reachable/expr_assign.rs deleted file mode 100644 index e547f75e2..000000000 --- a/src/test/ui/reachable/expr_assign.rs +++ /dev/null @@ -1,29 +0,0 @@ -#![feature(never_type)] -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn foo() { - // No error here. - let x; - x = return; //~ ERROR unreachable -} - -fn bar() { - use std::ptr; - let p: *mut ! = ptr::null_mut::(); - unsafe { - // Here we consider the `return` unreachable because - // "evaluating" the `*p` has type `!`. This is somewhat - // dubious, I suppose. - *p = return; //~ ERROR unreachable - } -} - -fn baz() { - let mut i = 0; - *{return; &mut i} = 22; //~ ERROR unreachable -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_assign.stderr b/src/test/ui/reachable/expr_assign.stderr deleted file mode 100644 index c51156b3f..000000000 --- a/src/test/ui/reachable/expr_assign.stderr +++ /dev/null @@ -1,33 +0,0 @@ -error: unreachable expression - --> $DIR/expr_assign.rs:10:5 - | -LL | x = return; - | ^^^^------ - | | | - | | any code following this expression is unreachable - | unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_assign.rs:5:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable expression - --> $DIR/expr_assign.rs:20:14 - | -LL | *p = return; - | -- ^^^^^^ unreachable expression - | | - | any code following this expression is unreachable - -error: unreachable expression - --> $DIR/expr_assign.rs:26:15 - | -LL | *{return; &mut i} = 22; - | ------ ^^^^^^ unreachable expression - | | - | any code following this expression is unreachable - -error: aborting due to 3 previous errors - diff --git a/src/test/ui/reachable/expr_block.rs b/src/test/ui/reachable/expr_block.rs deleted file mode 100644 index 136bccce8..000000000 --- a/src/test/ui/reachable/expr_block.rs +++ /dev/null @@ -1,31 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn a() { - // Here the tail expression is considered unreachable: - let x = { - return; - 22 //~ ERROR unreachable - }; -} - -fn b() { - // Here the `x` assignment is considered unreachable, not the block: - let x = { - return; - }; -} - -fn c() { - // Here the `println!` is unreachable: - let x = { - return; - println!("foo"); - //~^ ERROR unreachable statement - 22 - }; -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_block.stderr b/src/test/ui/reachable/expr_block.stderr deleted file mode 100644 index d5f248a24..000000000 --- a/src/test/ui/reachable/expr_block.stderr +++ /dev/null @@ -1,26 +0,0 @@ -error: unreachable expression - --> $DIR/expr_block.rs:10:9 - | -LL | return; - | ------ any code following this expression is unreachable -LL | 22 - | ^^ unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_block.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable statement - --> $DIR/expr_block.rs:25:9 - | -LL | return; - | ------ any code following this expression is unreachable -LL | println!("foo"); - | ^^^^^^^^^^^^^^^ unreachable statement - | - = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/reachable/expr_box.rs b/src/test/ui/reachable/expr_box.rs deleted file mode 100644 index 00328ea01..000000000 --- a/src/test/ui/reachable/expr_box.rs +++ /dev/null @@ -1,8 +0,0 @@ -#![feature(box_syntax)] -#![allow(unused_variables)] -#![deny(unreachable_code)] - -fn main() { - let x = box return; //~ ERROR unreachable - println!("hi"); -} diff --git a/src/test/ui/reachable/expr_box.stderr b/src/test/ui/reachable/expr_box.stderr deleted file mode 100644 index ea6472cbe..000000000 --- a/src/test/ui/reachable/expr_box.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: unreachable expression - --> $DIR/expr_box.rs:6:13 - | -LL | let x = box return; - | ^^^^------ - | | | - | | any code following this expression is unreachable - | unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_box.rs:3:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/expr_call.rs b/src/test/ui/reachable/expr_call.rs deleted file mode 100644 index 1eaa96c3c..000000000 --- a/src/test/ui/reachable/expr_call.rs +++ /dev/null @@ -1,21 +0,0 @@ -#![feature(never_type)] -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn foo(x: !, y: usize) { } - -fn bar(x: !) { } - -fn a() { - // the `22` is unreachable: - foo(return, 22); //~ ERROR unreachable -} - -fn b() { - // the call is unreachable: - bar(return); //~ ERROR unreachable -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_call.stderr b/src/test/ui/reachable/expr_call.stderr deleted file mode 100644 index a5ad9a329..000000000 --- a/src/test/ui/reachable/expr_call.stderr +++ /dev/null @@ -1,24 +0,0 @@ -error: unreachable expression - --> $DIR/expr_call.rs:13:17 - | -LL | foo(return, 22); - | ------ ^^ unreachable expression - | | - | any code following this expression is unreachable - | -note: the lint level is defined here - --> $DIR/expr_call.rs:5:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable call - --> $DIR/expr_call.rs:18:5 - | -LL | bar(return); - | ^^^ ------ any code following this expression is unreachable - | | - | unreachable call - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/reachable/expr_cast.rs b/src/test/ui/reachable/expr_cast.rs deleted file mode 100644 index e8e477ea4..000000000 --- a/src/test/ui/reachable/expr_cast.rs +++ /dev/null @@ -1,13 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] -#![feature(never_type, type_ascription)] - -fn a() { - // the cast is unreachable: - let x = {return} as !; //~ ERROR unreachable - //~| ERROR non-primitive cast -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_cast.stderr b/src/test/ui/reachable/expr_cast.stderr deleted file mode 100644 index 6643f1784..000000000 --- a/src/test/ui/reachable/expr_cast.stderr +++ /dev/null @@ -1,24 +0,0 @@ -error: unreachable expression - --> $DIR/expr_cast.rs:9:13 - | -LL | let x = {return} as !; - | ^------^^^^^^ - | || - | |any code following this expression is unreachable - | unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_cast.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error[E0605]: non-primitive cast: `()` as `!` - --> $DIR/expr_cast.rs:9:13 - | -LL | let x = {return} as !; - | ^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0605`. diff --git a/src/test/ui/reachable/expr_if.rs b/src/test/ui/reachable/expr_if.rs deleted file mode 100644 index 3c04eaf48..000000000 --- a/src/test/ui/reachable/expr_if.rs +++ /dev/null @@ -1,31 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn foo() { - if {return} { //~ ERROR unreachable block in `if` - println!("Hello, world!"); - } -} - -fn bar() { - if {true} { - return; - } - println!("I am not dead."); -} - -fn baz() { - if {true} { - return; - } else { - return; - } - // As the next action to be taken after the if arms, we should - // report the `println!` as unreachable: - println!("But I am."); - //~^ ERROR unreachable statement -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_if.stderr b/src/test/ui/reachable/expr_if.stderr deleted file mode 100644 index ebd0b5a3e..000000000 --- a/src/test/ui/reachable/expr_if.stderr +++ /dev/null @@ -1,30 +0,0 @@ -error: unreachable block in `if` or `while` expression - --> $DIR/expr_if.rs:7:17 - | -LL | if {return} { - | _________------__^ - | | | - | | any code following this expression is unreachable -LL | | println!("Hello, world!"); -LL | | } - | |_____^ unreachable block in `if` or `while` expression - | -note: the lint level is defined here - --> $DIR/expr_if.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable statement - --> $DIR/expr_if.rs:27:5 - | -LL | return; - | ------ any code following this expression is unreachable -... -LL | println!("But I am."); - | ^^^^^^^^^^^^^^^^^^^^^ unreachable statement - | - = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/reachable/expr_loop.rs b/src/test/ui/reachable/expr_loop.rs deleted file mode 100644 index 7eab6f7bb..000000000 --- a/src/test/ui/reachable/expr_loop.rs +++ /dev/null @@ -1,36 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn a() { - loop { return; } - println!("I am dead."); - //~^ ERROR unreachable statement -} - -fn b() { - loop { - break; - } - println!("I am not dead."); -} - -fn c() { - loop { return; } - println!("I am dead."); - //~^ ERROR unreachable statement -} - -fn d() { - 'outer: loop { loop { break 'outer; } } - println!("I am not dead."); -} - -fn e() { - loop { 'middle: loop { loop { break 'middle; } } } - println!("I am dead."); - //~^ ERROR unreachable statement -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_loop.stderr b/src/test/ui/reachable/expr_loop.stderr deleted file mode 100644 index 918584686..000000000 --- a/src/test/ui/reachable/expr_loop.stderr +++ /dev/null @@ -1,37 +0,0 @@ -error: unreachable statement - --> $DIR/expr_loop.rs:8:5 - | -LL | loop { return; } - | ------ any code following this expression is unreachable -LL | println!("I am dead."); - | ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement - | -note: the lint level is defined here - --> $DIR/expr_loop.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: unreachable statement - --> $DIR/expr_loop.rs:21:5 - | -LL | loop { return; } - | ------ any code following this expression is unreachable -LL | println!("I am dead."); - | ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement - | - = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: unreachable statement - --> $DIR/expr_loop.rs:32:5 - | -LL | loop { 'middle: loop { loop { break 'middle; } } } - | -------------------------------------------------- any code following this expression is unreachable -LL | println!("I am dead."); - | ^^^^^^^^^^^^^^^^^^^^^^ unreachable statement - | - = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: aborting due to 3 previous errors - diff --git a/src/test/ui/reachable/expr_match.rs b/src/test/ui/reachable/expr_match.rs deleted file mode 100644 index 2fd26b54e..000000000 --- a/src/test/ui/reachable/expr_match.rs +++ /dev/null @@ -1,39 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn b() { - match () { () => return } - println!("I am dead"); - //~^ ERROR unreachable statement -} - -fn c() { - match () { () if false => return, () => () } - println!("I am not dead"); -} - -fn d() { - match () { () if false => return, () => return } - println!("I am dead"); - //~^ ERROR unreachable statement -} - -fn e() { - // Here the compiler fails to figure out that the `println` is dead. - match () { () if return => (), () => return } - println!("I am dead"); -} - -fn f() { - match Some(()) { None => (), Some(()) => return } - println!("I am not dead"); -} - -fn g() { - match Some(()) { None => return, Some(()) => () } - println!("I am not dead"); -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_match.stderr b/src/test/ui/reachable/expr_match.stderr deleted file mode 100644 index d15208609..000000000 --- a/src/test/ui/reachable/expr_match.stderr +++ /dev/null @@ -1,27 +0,0 @@ -error: unreachable statement - --> $DIR/expr_match.rs:8:5 - | -LL | match () { () => return } - | ------------------------- any code following this `match` expression is unreachable, as all arms diverge -LL | println!("I am dead"); - | ^^^^^^^^^^^^^^^^^^^^^ unreachable statement - | -note: the lint level is defined here - --> $DIR/expr_match.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: unreachable statement - --> $DIR/expr_match.rs:19:5 - | -LL | match () { () if false => return, () => return } - | ------------------------------------------------ any code following this `match` expression is unreachable, as all arms diverge -LL | println!("I am dead"); - | ^^^^^^^^^^^^^^^^^^^^^ unreachable statement - | - = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/reachable/expr_method.rs b/src/test/ui/reachable/expr_method.rs deleted file mode 100644 index d917df05b..000000000 --- a/src/test/ui/reachable/expr_method.rs +++ /dev/null @@ -1,24 +0,0 @@ -#![feature(never_type)] -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -struct Foo; - -impl Foo { - fn foo(&self, x: !, y: usize) { } - fn bar(&self, x: !) { } -} - -fn a() { - // the `22` is unreachable: - Foo.foo(return, 22); //~ ERROR unreachable -} - -fn b() { - // the call is unreachable: - Foo.bar(return); //~ ERROR unreachable -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_method.stderr b/src/test/ui/reachable/expr_method.stderr deleted file mode 100644 index 41c3b8a39..000000000 --- a/src/test/ui/reachable/expr_method.stderr +++ /dev/null @@ -1,24 +0,0 @@ -error: unreachable expression - --> $DIR/expr_method.rs:16:21 - | -LL | Foo.foo(return, 22); - | ------ ^^ unreachable expression - | | - | any code following this expression is unreachable - | -note: the lint level is defined here - --> $DIR/expr_method.rs:5:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable call - --> $DIR/expr_method.rs:21:9 - | -LL | Foo.bar(return); - | ^^^ ------ any code following this expression is unreachable - | | - | unreachable call - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/reachable/expr_oror.rs b/src/test/ui/reachable/expr_oror.rs deleted file mode 100644 index e95062de4..000000000 --- a/src/test/ui/reachable/expr_oror.rs +++ /dev/null @@ -1,12 +0,0 @@ -// build-pass (FIXME(62277): could be check-pass?) - -#![allow(unused_variables)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn foo() { - let x = false || (return); - println!("I am not dead."); -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_repeat.rs b/src/test/ui/reachable/expr_repeat.rs deleted file mode 100644 index 0fd13c6cb..000000000 --- a/src/test/ui/reachable/expr_repeat.rs +++ /dev/null @@ -1,12 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] -#![feature(type_ascription)] - -fn a() { - // the repeat is unreachable: - let x: [usize; 2] = [return; 2]; //~ ERROR unreachable -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_repeat.stderr b/src/test/ui/reachable/expr_repeat.stderr deleted file mode 100644 index defa87046..000000000 --- a/src/test/ui/reachable/expr_repeat.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: unreachable expression - --> $DIR/expr_repeat.rs:9:25 - | -LL | let x: [usize; 2] = [return; 2]; - | ^------^^^^ - | || - | |any code following this expression is unreachable - | unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_repeat.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/expr_return.rs b/src/test/ui/reachable/expr_return.rs deleted file mode 100644 index 0fc43f450..000000000 --- a/src/test/ui/reachable/expr_return.rs +++ /dev/null @@ -1,13 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] -#![feature(type_ascription)] - -fn a() { - // Here we issue that the "2nd-innermost" return is unreachable, - // but we stop there. - let x = {return {return {return;}}}; //~ ERROR unreachable -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_return.stderr b/src/test/ui/reachable/expr_return.stderr deleted file mode 100644 index e1bef80ae..000000000 --- a/src/test/ui/reachable/expr_return.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: unreachable expression - --> $DIR/expr_return.rs:10:22 - | -LL | let x = {return {return {return;}}}; - | ^^^^^^^^------^^ - | | | - | | any code following this expression is unreachable - | unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_return.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/expr_return_in_macro.rs b/src/test/ui/reachable/expr_return_in_macro.rs deleted file mode 100644 index 4e57618bf..000000000 --- a/src/test/ui/reachable/expr_return_in_macro.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Tests that we generate nice error messages -// when an expression is unreachble due to control -// flow inside of a macro expansion. -#![deny(unreachable_code)] - -macro_rules! early_return { - () => { - return () - } -} - -fn main() { - return early_return!(); - //~^ ERROR unreachable expression -} diff --git a/src/test/ui/reachable/expr_return_in_macro.stderr b/src/test/ui/reachable/expr_return_in_macro.stderr deleted file mode 100644 index 3c562a7ee..000000000 --- a/src/test/ui/reachable/expr_return_in_macro.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: unreachable expression - --> $DIR/expr_return_in_macro.rs:13:5 - | -LL | return () - | --------- any code following this expression is unreachable -... -LL | return early_return!(); - | ^^^^^^^^^^^^^^^^^^^^^^ unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_return_in_macro.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/expr_struct.rs b/src/test/ui/reachable/expr_struct.rs deleted file mode 100644 index 31ab40582..000000000 --- a/src/test/ui/reachable/expr_struct.rs +++ /dev/null @@ -1,32 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] -#![feature(type_ascription)] - -struct Foo { - a: usize, - b: usize, -} - -fn a() { - // struct expr is unreachable: - let x = Foo { a: 22, b: 33, ..return }; //~ ERROR unreachable -} - -fn b() { - // the `33` is unreachable: - let x = Foo { a: return, b: 33, ..return }; //~ ERROR unreachable -} - -fn c() { - // the `..return` is unreachable: - let x = Foo { a: 22, b: return, ..return }; //~ ERROR unreachable -} - -fn d() { - // the struct expr is unreachable: - let x = Foo { a: 22, b: return }; //~ ERROR unreachable -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_struct.stderr b/src/test/ui/reachable/expr_struct.stderr deleted file mode 100644 index 36b070456..000000000 --- a/src/test/ui/reachable/expr_struct.stderr +++ /dev/null @@ -1,42 +0,0 @@ -error: unreachable expression - --> $DIR/expr_struct.rs:14:13 - | -LL | let x = Foo { a: 22, b: 33, ..return }; - | ^^^^^^^^^^^^^^^^^^^^^^------^^ - | | | - | | any code following this expression is unreachable - | unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_struct.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable expression - --> $DIR/expr_struct.rs:19:33 - | -LL | let x = Foo { a: return, b: 33, ..return }; - | ------ ^^ unreachable expression - | | - | any code following this expression is unreachable - -error: unreachable expression - --> $DIR/expr_struct.rs:24:39 - | -LL | let x = Foo { a: 22, b: return, ..return }; - | ------ ^^^^^^ unreachable expression - | | - | any code following this expression is unreachable - -error: unreachable expression - --> $DIR/expr_struct.rs:29:13 - | -LL | let x = Foo { a: 22, b: return }; - | ^^^^^^^^^^^^^^^^------^^ - | | | - | | any code following this expression is unreachable - | unreachable expression - -error: aborting due to 4 previous errors - diff --git a/src/test/ui/reachable/expr_tup.rs b/src/test/ui/reachable/expr_tup.rs deleted file mode 100644 index 90d4382e2..000000000 --- a/src/test/ui/reachable/expr_tup.rs +++ /dev/null @@ -1,17 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] -#![feature(type_ascription)] - -fn a() { - // the `2` is unreachable: - let x: (usize, usize) = (return, 2); //~ ERROR unreachable -} - -fn b() { - // the tuple is unreachable: - let x: (usize, usize) = (2, return); //~ ERROR unreachable -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_tup.stderr b/src/test/ui/reachable/expr_tup.stderr deleted file mode 100644 index 5ea6bf4ab..000000000 --- a/src/test/ui/reachable/expr_tup.stderr +++ /dev/null @@ -1,25 +0,0 @@ -error: unreachable expression - --> $DIR/expr_tup.rs:9:38 - | -LL | let x: (usize, usize) = (return, 2); - | ------ ^ unreachable expression - | | - | any code following this expression is unreachable - | -note: the lint level is defined here - --> $DIR/expr_tup.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable expression - --> $DIR/expr_tup.rs:14:29 - | -LL | let x: (usize, usize) = (2, return); - | ^^^^------^ - | | | - | | any code following this expression is unreachable - | unreachable expression - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/reachable/expr_type.rs b/src/test/ui/reachable/expr_type.rs deleted file mode 100644 index 1ceb2f859..000000000 --- a/src/test/ui/reachable/expr_type.rs +++ /dev/null @@ -1,12 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] -#![feature(never_type, type_ascription)] - -fn a() { - // the cast is unreachable: - let x = type_ascribe!({return}, !); //~ ERROR unreachable -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_type.stderr b/src/test/ui/reachable/expr_type.stderr deleted file mode 100644 index 3cb4a32e0..000000000 --- a/src/test/ui/reachable/expr_type.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: unreachable expression - --> $DIR/expr_type.rs:9:13 - | -LL | let x = type_ascribe!({return}, !); - | ^^^^^^^^^^^^^^^------^^^^^ - | | | - | | any code following this expression is unreachable - | unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_type.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/expr_unary.rs b/src/test/ui/reachable/expr_unary.rs deleted file mode 100644 index 190c7447d..000000000 --- a/src/test/ui/reachable/expr_unary.rs +++ /dev/null @@ -1,12 +0,0 @@ -#![feature(never_type)] -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn foo() { - let x: ! = * { return; }; //~ ERROR unreachable - //~| ERROR type `!` cannot be dereferenced -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_unary.stderr b/src/test/ui/reachable/expr_unary.stderr deleted file mode 100644 index 0a763087c..000000000 --- a/src/test/ui/reachable/expr_unary.stderr +++ /dev/null @@ -1,24 +0,0 @@ -error[E0614]: type `!` cannot be dereferenced - --> $DIR/expr_unary.rs:8:16 - | -LL | let x: ! = * { return; }; - | ^^^^^^^^^^^^^ - -error: unreachable expression - --> $DIR/expr_unary.rs:8:16 - | -LL | let x: ! = * { return; }; - | ^^^^------^^^ - | | | - | | any code following this expression is unreachable - | unreachable expression - | -note: the lint level is defined here - --> $DIR/expr_unary.rs:5:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0614`. diff --git a/src/test/ui/reachable/expr_while.rs b/src/test/ui/reachable/expr_while.rs deleted file mode 100644 index 5005f3833..000000000 --- a/src/test/ui/reachable/expr_while.rs +++ /dev/null @@ -1,29 +0,0 @@ -#![allow(unused_variables)] -#![allow(unused_assignments)] -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn foo() { - while {return} { - //~^ ERROR unreachable block in `if` - println!("Hello, world!"); - } -} - -fn bar() { - while {true} { - return; - } - println!("I am not dead."); -} - -fn baz() { - // Here, we cite the `while` loop as dead. - while {return} { - //~^ ERROR unreachable block in `if` - println!("I am dead."); - } - println!("I am, too."); -} - -fn main() { } diff --git a/src/test/ui/reachable/expr_while.stderr b/src/test/ui/reachable/expr_while.stderr deleted file mode 100644 index b1859f619..000000000 --- a/src/test/ui/reachable/expr_while.stderr +++ /dev/null @@ -1,32 +0,0 @@ -error: unreachable block in `if` or `while` expression - --> $DIR/expr_while.rs:7:20 - | -LL | while {return} { - | ____________------__^ - | | | - | | any code following this expression is unreachable -LL | | -LL | | println!("Hello, world!"); -LL | | } - | |_____^ unreachable block in `if` or `while` expression - | -note: the lint level is defined here - --> $DIR/expr_while.rs:4:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable block in `if` or `while` expression - --> $DIR/expr_while.rs:22:20 - | -LL | while {return} { - | ____________------__^ - | | | - | | any code following this expression is unreachable -LL | | -LL | | println!("I am dead."); -LL | | } - | |_____^ unreachable block in `if` or `while` expression - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/reachable/unreachable-arm.rs b/src/test/ui/reachable/unreachable-arm.rs deleted file mode 100644 index 3277bf0d5..000000000 --- a/src/test/ui/reachable/unreachable-arm.rs +++ /dev/null @@ -1,14 +0,0 @@ -#![feature(box_patterns)] - -#![allow(dead_code)] -#![deny(unreachable_patterns)] - -enum Foo { A(Box, isize), B(usize), } - -fn main() { - match Foo::B(1) { - Foo::B(_) | Foo::A(box _, 1) => { } - Foo::A(_, 1) => { } //~ ERROR unreachable pattern - _ => { } - } -} diff --git a/src/test/ui/reachable/unreachable-arm.stderr b/src/test/ui/reachable/unreachable-arm.stderr deleted file mode 100644 index 1cbea8288..000000000 --- a/src/test/ui/reachable/unreachable-arm.stderr +++ /dev/null @@ -1,14 +0,0 @@ -error: unreachable pattern - --> $DIR/unreachable-arm.rs:11:9 - | -LL | Foo::A(_, 1) => { } - | ^^^^^^^^^^^^ - | -note: the lint level is defined here - --> $DIR/unreachable-arm.rs:4:9 - | -LL | #![deny(unreachable_patterns)] - | ^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/unreachable-code-ret.rs b/src/test/ui/reachable/unreachable-code-ret.rs deleted file mode 100644 index fad35794f..000000000 --- a/src/test/ui/reachable/unreachable-code-ret.rs +++ /dev/null @@ -1,8 +0,0 @@ -// error-pattern: unreachable statement - -#![deny(unreachable_code)] - -fn main() { - return; - println!("Paul is dead"); -} diff --git a/src/test/ui/reachable/unreachable-code-ret.stderr b/src/test/ui/reachable/unreachable-code-ret.stderr deleted file mode 100644 index 263a1b5a9..000000000 --- a/src/test/ui/reachable/unreachable-code-ret.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: unreachable statement - --> $DIR/unreachable-code-ret.rs:7:5 - | -LL | return; - | ------ any code following this expression is unreachable -LL | println!("Paul is dead"); - | ^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement - | -note: the lint level is defined here - --> $DIR/unreachable-code-ret.rs:3:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/unreachable-code.rs b/src/test/ui/reachable/unreachable-code.rs deleted file mode 100644 index ad0dc8a8b..000000000 --- a/src/test/ui/reachable/unreachable-code.rs +++ /dev/null @@ -1,8 +0,0 @@ -#![deny(unreachable_code)] -#![allow(unused_variables)] - -fn main() { - loop{} - - let a = 3; //~ ERROR: unreachable statement -} diff --git a/src/test/ui/reachable/unreachable-code.stderr b/src/test/ui/reachable/unreachable-code.stderr deleted file mode 100644 index cb1b760c2..000000000 --- a/src/test/ui/reachable/unreachable-code.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: unreachable statement - --> $DIR/unreachable-code.rs:7:3 - | -LL | loop{} - | ------ any code following this expression is unreachable -LL | -LL | let a = 3; - | ^^^^^^^^^^ unreachable statement - | -note: the lint level is defined here - --> $DIR/unreachable-code.rs:1:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/unreachable-in-call.rs b/src/test/ui/reachable/unreachable-in-call.rs deleted file mode 100644 index dd94e79f4..000000000 --- a/src/test/ui/reachable/unreachable-in-call.rs +++ /dev/null @@ -1,22 +0,0 @@ -#![allow(dead_code)] -#![deny(unreachable_code)] - -fn diverge() -> ! { panic!() } - -fn get_u8() -> u8 { - 1 -} -fn call(_: u8, _: u8) { - -} -fn diverge_first() { - call(diverge(), - get_u8()); //~ ERROR unreachable expression -} -fn diverge_second() { - call( //~ ERROR unreachable call - get_u8(), - diverge()); -} - -fn main() {} diff --git a/src/test/ui/reachable/unreachable-in-call.stderr b/src/test/ui/reachable/unreachable-in-call.stderr deleted file mode 100644 index cdfa79bf8..000000000 --- a/src/test/ui/reachable/unreachable-in-call.stderr +++ /dev/null @@ -1,25 +0,0 @@ -error: unreachable expression - --> $DIR/unreachable-in-call.rs:14:10 - | -LL | call(diverge(), - | --------- any code following this expression is unreachable -LL | get_u8()); - | ^^^^^^^^ unreachable expression - | -note: the lint level is defined here - --> $DIR/unreachable-in-call.rs:2:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable call - --> $DIR/unreachable-in-call.rs:17:5 - | -LL | call( - | ^^^^ unreachable call -LL | get_u8(), -LL | diverge()); - | --------- any code following this expression is unreachable - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/reachable/unreachable-loop-patterns.rs b/src/test/ui/reachable/unreachable-loop-patterns.rs deleted file mode 100644 index e9cef5f47..000000000 --- a/src/test/ui/reachable/unreachable-loop-patterns.rs +++ /dev/null @@ -1,20 +0,0 @@ -#![feature(never_type, never_type_fallback)] -#![feature(exhaustive_patterns)] - -#![allow(unreachable_code)] -#![deny(unreachable_patterns)] - -enum Void {} - -impl Iterator for Void { - type Item = Void; - - fn next(&mut self) -> Option { - None - } -} - -fn main() { - for _ in unimplemented!() as Void {} - //~^ ERROR unreachable pattern -} diff --git a/src/test/ui/reachable/unreachable-loop-patterns.stderr b/src/test/ui/reachable/unreachable-loop-patterns.stderr deleted file mode 100644 index 80ffa5d73..000000000 --- a/src/test/ui/reachable/unreachable-loop-patterns.stderr +++ /dev/null @@ -1,14 +0,0 @@ -error: unreachable pattern - --> $DIR/unreachable-loop-patterns.rs:18:9 - | -LL | for _ in unimplemented!() as Void {} - | ^ - | -note: the lint level is defined here - --> $DIR/unreachable-loop-patterns.rs:5:9 - | -LL | #![deny(unreachable_patterns)] - | ^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - diff --git a/src/test/ui/reachable/unreachable-try-pattern.rs b/src/test/ui/reachable/unreachable-try-pattern.rs deleted file mode 100644 index 23360e73f..000000000 --- a/src/test/ui/reachable/unreachable-try-pattern.rs +++ /dev/null @@ -1,41 +0,0 @@ -// check-pass -#![feature(never_type, exhaustive_patterns)] -#![warn(unreachable_code)] -#![warn(unreachable_patterns)] - -enum Void {} - -impl From for i32 { - fn from(v: Void) -> i32 { - match v {} - } -} - -fn bar(x: Result) -> Result { - x? -} - -fn foo(x: Result) -> Result { - let y = (match x { Ok(n) => Ok(n as u32), Err(e) => Err(e) })?; - //~^ WARN unreachable pattern - //~| WARN unreachable expression - Ok(y) -} - -fn qux(x: Result) -> Result { - Ok(x?) -} - -fn vom(x: Result) -> Result { - let y = (match x { Ok(n) => Ok(n), Err(e) => Err(e) })?; - //~^ WARN unreachable pattern - Ok(y) -} - - -fn main() { - let _ = bar(Err(123)); - let _ = foo(Err(123)); - let _ = qux(Ok(123)); - let _ = vom(Ok(123)); -} diff --git a/src/test/ui/reachable/unreachable-try-pattern.stderr b/src/test/ui/reachable/unreachable-try-pattern.stderr deleted file mode 100644 index 8f3e23119..000000000 --- a/src/test/ui/reachable/unreachable-try-pattern.stderr +++ /dev/null @@ -1,35 +0,0 @@ -warning: unreachable expression - --> $DIR/unreachable-try-pattern.rs:19:36 - | -LL | let y = (match x { Ok(n) => Ok(n as u32), Err(e) => Err(e) })?; - | -^^^^^^^ - | | - | unreachable expression - | any code following this expression is unreachable - | -note: the lint level is defined here - --> $DIR/unreachable-try-pattern.rs:3:9 - | -LL | #![warn(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -warning: unreachable pattern - --> $DIR/unreachable-try-pattern.rs:19:24 - | -LL | let y = (match x { Ok(n) => Ok(n as u32), Err(e) => Err(e) })?; - | ^^^^^ - | -note: the lint level is defined here - --> $DIR/unreachable-try-pattern.rs:4:9 - | -LL | #![warn(unreachable_patterns)] - | ^^^^^^^^^^^^^^^^^^^^ - -warning: unreachable pattern - --> $DIR/unreachable-try-pattern.rs:30:40 - | -LL | let y = (match x { Ok(n) => Ok(n), Err(e) => Err(e) })?; - | ^^^^^^ - -warning: 3 warnings emitted - diff --git a/src/test/ui/reachable/unreachable-variant.rs b/src/test/ui/reachable/unreachable-variant.rs deleted file mode 100644 index 008c2d476..000000000 --- a/src/test/ui/reachable/unreachable-variant.rs +++ /dev/null @@ -1,7 +0,0 @@ -// aux-build:unreachable_variant.rs - -extern crate unreachable_variant as other; - -fn main() { - let _x = other::super_sekrit::sooper_sekrit::baz; //~ ERROR is private -} diff --git a/src/test/ui/reachable/unreachable-variant.stderr b/src/test/ui/reachable/unreachable-variant.stderr deleted file mode 100644 index 6c27a2756..000000000 --- a/src/test/ui/reachable/unreachable-variant.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error[E0603]: module `super_sekrit` is private - --> $DIR/unreachable-variant.rs:6:21 - | -LL | let _x = other::super_sekrit::sooper_sekrit::baz; - | ^^^^^^^^^^^^ private module - | -note: the module `super_sekrit` is defined here - --> $DIR/auxiliary/unreachable_variant.rs:1:1 - | -LL | mod super_sekrit { - | ^^^^^^^^^^^^^^^^ - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0603`. diff --git a/src/test/ui/reachable/unwarned-match-on-never.rs b/src/test/ui/reachable/unwarned-match-on-never.rs deleted file mode 100644 index 71f8fe3a7..000000000 --- a/src/test/ui/reachable/unwarned-match-on-never.rs +++ /dev/null @@ -1,24 +0,0 @@ -#![deny(unreachable_code)] -#![allow(dead_code)] - -#![feature(never_type)] - -fn foo(x: !) -> bool { - // Explicit matches on the never type are unwarned. - match x {} - // But matches in unreachable code are warned. - match x {} //~ ERROR unreachable expression -} - -fn bar() { - match (return) { - () => () //~ ERROR unreachable arm - } -} - -fn main() { - return; - match () { //~ ERROR unreachable expression - () => (), - } -} diff --git a/src/test/ui/reachable/unwarned-match-on-never.stderr b/src/test/ui/reachable/unwarned-match-on-never.stderr deleted file mode 100644 index a296d2a05..000000000 --- a/src/test/ui/reachable/unwarned-match-on-never.stderr +++ /dev/null @@ -1,35 +0,0 @@ -error: unreachable expression - --> $DIR/unwarned-match-on-never.rs:10:5 - | -LL | match x {} - | - any code following this expression is unreachable -LL | // But matches in unreachable code are warned. -LL | match x {} - | ^^^^^^^^^^ unreachable expression - | -note: the lint level is defined here - --> $DIR/unwarned-match-on-never.rs:1:9 - | -LL | #![deny(unreachable_code)] - | ^^^^^^^^^^^^^^^^ - -error: unreachable arm - --> $DIR/unwarned-match-on-never.rs:15:15 - | -LL | match (return) { - | -------- any code following this expression is unreachable -LL | () => () - | ^^ unreachable arm - -error: unreachable expression - --> $DIR/unwarned-match-on-never.rs:21:5 - | -LL | return; - | ------ any code following this expression is unreachable -LL | / match () { -LL | | () => (), -LL | | } - | |_____^ unreachable expression - -error: aborting due to 3 previous errors - -- cgit v1.2.3