]> git.lizzy.rs Git - rust.git/blob - src/test/ui/pattern/usefulness/issue-35609.rs
Rollup merge of #80298 - PankajChaudhary5:PankajChaudhary, r=GuillaumeGomez
[rust.git] / src / test / ui / pattern / usefulness / issue-35609.rs
1 enum Enum {
2     A, B, C, D, E, F
3 }
4 use Enum::*;
5
6 struct S(Enum, ());
7 struct Sd { x: Enum, y: () }
8
9 fn main() {
10     match (A, ()) { //~ ERROR non-exhaustive
11         (A, _) => {}
12     }
13
14     match (A, A) { //~ ERROR non-exhaustive
15         (_, A) => {}
16     }
17
18     match ((A, ()), ()) { //~ ERROR non-exhaustive
19         ((A, ()), _) => {}
20     }
21
22     match ((A, ()), A) { //~ ERROR non-exhaustive
23         ((A, ()), _) => {}
24     }
25
26     match ((A, ()), ()) { //~ ERROR non-exhaustive
27         ((A, _), _) => {}
28     }
29
30
31     match S(A, ()) { //~ ERROR non-exhaustive
32         S(A, _) => {}
33     }
34
35     match (Sd { x: A, y: () }) { //~ ERROR non-exhaustive
36         Sd { x: A, y: _ } => {}
37     }
38
39     match Some(A) { //~ ERROR non-exhaustive
40         Some(A) => (),
41         None => ()
42     }
43 }