Allow explicit matches on ! without warning

This commit is contained in:
varkor 2018-10-16 14:56:39 +01:00
parent 5ea8eb55cd
commit fe09dbfcba
3 changed files with 40 additions and 5 deletions

View file

@ -0,0 +1,18 @@
#![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 main() {
return;
match () { //~ ERROR: unreachable expression
() => (),
}
}

View file

@ -0,0 +1,22 @@
error: unreachable expression
--> $DIR/unwarned-match-on-never.rs:10:5
|
LL | match x {} //~ ERROR: unreachable expression
| ^^^^^^^^^^
|
note: lint level defined here
--> $DIR/unwarned-match-on-never.rs:1:9
|
LL | #![deny(unreachable_code)]
| ^^^^^^^^^^^^^^^^
error: unreachable expression
--> $DIR/unwarned-match-on-never.rs:15:5
|
LL | / match () { //~ ERROR: unreachable expression
LL | | () => (),
LL | | }
| |_____^
error: aborting due to 2 previous errors