]> git.lizzy.rs Git - rust.git/blob - tests/ui/reachable/expr_match.rs
Rollup merge of #106701 - ibraheemdev:sync-sender-spin, r=Amanieu
[rust.git] / tests / ui / reachable / expr_match.rs
1 #![allow(unused_variables)]
2 #![allow(unused_assignments)]
3 #![allow(dead_code)]
4 #![deny(unreachable_code)]
5
6 fn b() {
7     match () { () => return }
8     println!("I am dead");
9     //~^ ERROR unreachable statement
10 }
11
12 fn c() {
13     match () { () if false => return, () => () }
14     println!("I am not dead");
15 }
16
17 fn d() {
18     match () { () if false => return, () => return }
19     println!("I am dead");
20     //~^ ERROR unreachable statement
21 }
22
23 fn e() {
24     // Here the compiler fails to figure out that the `println` is dead.
25     match () { () if return => (), () => return }
26     println!("I am dead");
27 }
28
29 fn f() {
30     match Some(()) { None => (), Some(()) => return }
31     println!("I am not dead");
32 }
33
34 fn g() {
35     match Some(()) { None => return, Some(()) => () }
36     println!("I am not dead");
37 }
38
39 fn main() { }