Skip to content

Commit 4bd1a5e

Browse files
Add test for struct variant
1 parent c1974c4 commit 4bd1a5e

File tree

2 files changed

+28
-11
lines changed

2 files changed

+28
-11
lines changed
+11-4
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,27 @@
11
#![deny(dead_code)]
22

33
#[derive(Clone)]
4-
enum Enum1 {
4+
enum Enum {
55
Variant1, //~ ERROR: variant `Variant1` is never constructed
66
Variant2,
77
}
88

99
#[derive(Debug)]
10-
enum Enum2 {
10+
enum TupleVariant {
1111
Variant1(i32), //~ ERROR: variant `Variant1` is never constructed
1212
Variant2,
1313
}
1414

15+
#[derive(Debug)]
16+
enum StructVariant {
17+
Variant1 { id: i32 }, //~ ERROR: variant `Variant1` is never constructed
18+
Variant2,
19+
}
20+
1521
fn main() {
16-
let e = Enum1::Variant2;
22+
let e = Enum::Variant2;
1723
e.clone();
1824

19-
let _ = Enum2::Variant2;
25+
let _ = TupleVariant::Variant2;
26+
let _ = StructVariant::Variant2;
2027
}
+17-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
error: variant `Variant1` is never constructed
22
--> $DIR/unused-variant.rs:5:5
33
|
4-
LL | enum Enum1 {
5-
| ----- variant in this enum
4+
LL | enum Enum {
5+
| ---- variant in this enum
66
LL | Variant1,
77
| ^^^^^^^^
88
|
9-
= note: `Enum1` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
9+
= note: `Enum` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
1010
note: the lint level is defined here
1111
--> $DIR/unused-variant.rs:1:9
1212
|
@@ -16,12 +16,22 @@ LL | #![deny(dead_code)]
1616
error: variant `Variant1` is never constructed
1717
--> $DIR/unused-variant.rs:11:5
1818
|
19-
LL | enum Enum2 {
20-
| ----- variant in this enum
19+
LL | enum TupleVariant {
20+
| ------------ variant in this enum
2121
LL | Variant1(i32),
2222
| ^^^^^^^^
2323
|
24-
= note: `Enum2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
24+
= note: `TupleVariant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
2525

26-
error: aborting due to 2 previous errors
26+
error: variant `Variant1` is never constructed
27+
--> $DIR/unused-variant.rs:17:5
28+
|
29+
LL | enum StructVariant {
30+
| ------------- variant in this enum
31+
LL | Variant1 { id: i32 },
32+
| ^^^^^^^^
33+
|
34+
= note: `StructVariant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
35+
36+
error: aborting due to 3 previous errors
2737

0 commit comments

Comments
 (0)