]> git.lizzy.rs Git - rust.git/blob - tests/ui/lint/dead-code/lint-dead-code-5.rs
Rollup merge of #106644 - alexcrichton:update-wasi-toolchain, r=cuviper
[rust.git] / tests / ui / lint / dead-code / lint-dead-code-5.rs
1 #![allow(unused_variables)]
2 #![deny(dead_code)]
3
4 enum Enum1 {
5     Variant1(isize),
6     Variant2 //~ ERROR: variant `Variant2` is never constructed
7 }
8
9 enum Enum2 {
10     Variant3(bool),
11     #[allow(dead_code)]
12     Variant4(isize),
13     Variant5 { _x: isize }, //~ ERROR: variants `Variant5` and `Variant6` are never constructed
14     Variant6(isize),
15     _Variant7,
16     Variant8 { _field: bool },
17     Variant9,
18     Variant10(usize)
19 }
20
21 impl Enum2 {
22     fn new_variant8() -> Enum2 {
23         Self::Variant8 { _field: true }
24     }
25
26     fn new_variant9() -> Enum2 {
27         Self::Variant9
28     }
29
30     fn new_variant10() -> Enum2 {
31         Self::Variant10(10)
32     }
33 }
34
35 enum Enum3 { //~ ERROR: enum `Enum3` is never used
36     Variant8,
37     Variant9
38 }
39
40 fn main() {
41     let v = Enum1::Variant1(1);
42     match v {
43         Enum1::Variant1(_) => (),
44         Enum1::Variant2 => ()
45     }
46     let x = Enum2::Variant3(true);
47     let _ = Enum2::new_variant8();
48     let _ = Enum2::new_variant9();
49     let _ = Enum2::new_variant10();
50 }