Unignore closure-bang.
This test was ignored long ago in https://github.com/rust-lang/rust/pull/20578/ when the syntax for closures was changed. The current status is that a closure with an explicit `!` return type will trigger the `unreachable_code` lint which appears to be the original intent of the test (https://github.com/rust-lang/rust/pull/16836). A closure without a return type won't trigger the lint since the `!` type isn't inferred (AFAIK). This restores the test to its original form.
This commit is contained in:
parent
fd57c6b407
commit
d7ed5a52ff
2 changed files with 18 additions and 3 deletions
|
@ -1,9 +1,7 @@
|
||||||
// ignore-test FIXME(#20574)
|
|
||||||
|
|
||||||
#![deny(unreachable_code)]
|
#![deny(unreachable_code)]
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let x = || panic!();
|
let x = || -> ! { panic!() };
|
||||||
x();
|
x();
|
||||||
println!("Foo bar"); //~ ERROR: unreachable statement
|
println!("Foo bar"); //~ ERROR: unreachable statement
|
||||||
}
|
}
|
||||||
|
|
17
tests/ui/lint/dead-code/closure-bang.stderr
Normal file
17
tests/ui/lint/dead-code/closure-bang.stderr
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
error: unreachable statement
|
||||||
|
--> $DIR/closure-bang.rs:6:5
|
||||||
|
|
|
||||||
|
LL | x();
|
||||||
|
| --- any code following this expression is unreachable
|
||||||
|
LL | println!("Foo bar");
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ unreachable statement
|
||||||
|
|
|
||||||
|
note: the lint level is defined here
|
||||||
|
--> $DIR/closure-bang.rs:1: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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue