Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit b4422fb

Browse files
committedMar 6, 2020
Added oli's multivariant test case (alpha renaming the enum name itself).
(And added Ralf's suggested test.) Added my own three-variant multi-variant as well.
1 parent 40809b0 commit b4422fb

File tree

1 file changed

+63
-3
lines changed

1 file changed

+63
-3
lines changed
 

‎src/test/ui/consts/issue-69191-ice-on-uninhabited-enum-field.rs

Lines changed: 63 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,80 @@
55

66
pub enum Void {}
77

8-
enum UninhabitedUnivariant { _Variant(Void), }
8+
enum UninhabitedUnivariant {
9+
_Variant(Void),
10+
}
11+
12+
enum UninhabitedMultivariant2 {
13+
_Variant(Void),
14+
_Warriont(Void),
15+
}
16+
17+
enum UninhabitedMultivariant3 {
18+
_Variant(Void),
19+
_Warriont(Void),
20+
_Worrynot(Void),
21+
}
922

1023
#[repr(C)]
11-
enum UninhabitedUnivariantC { _Variant(Void), }
24+
enum UninhabitedUnivariantC {
25+
_Variant(Void),
26+
}
1227

1328
#[repr(i32)]
14-
enum UninhabitedUnivariant32 { _Variant(Void), }
29+
enum UninhabitedUnivariant32 {
30+
_Variant(Void),
31+
}
1532

1633
fn main() {
1734
let _seed: UninhabitedUnivariant = None.unwrap();
1835
match _seed {
1936
UninhabitedUnivariant::_Variant(_x) => {}
2037
}
2138

39+
let _seed: UninhabitedMultivariant2 = None.unwrap();
40+
match _seed {
41+
UninhabitedMultivariant2::_Variant(_x) => {}
42+
UninhabitedMultivariant2::_Warriont(_x) => {}
43+
}
44+
45+
let _seed: UninhabitedMultivariant2 = None.unwrap();
46+
match _seed {
47+
UninhabitedMultivariant2::_Variant(_x) => {}
48+
_ => {}
49+
}
50+
51+
let _seed: UninhabitedMultivariant2 = None.unwrap();
52+
match _seed {
53+
UninhabitedMultivariant2::_Warriont(_x) => {}
54+
_ => {}
55+
}
56+
57+
let _seed: UninhabitedMultivariant3 = None.unwrap();
58+
match _seed {
59+
UninhabitedMultivariant3::_Variant(_x) => {}
60+
UninhabitedMultivariant3::_Warriont(_x) => {}
61+
UninhabitedMultivariant3::_Worrynot(_x) => {}
62+
}
63+
64+
let _seed: UninhabitedMultivariant3 = None.unwrap();
65+
match _seed {
66+
UninhabitedMultivariant3::_Variant(_x) => {}
67+
_ => {}
68+
}
69+
70+
let _seed: UninhabitedMultivariant3 = None.unwrap();
71+
match _seed {
72+
UninhabitedMultivariant3::_Warriont(_x) => {}
73+
_ => {}
74+
}
75+
76+
let _seed: UninhabitedMultivariant3 = None.unwrap();
77+
match _seed {
78+
UninhabitedMultivariant3::_Worrynot(_x) => {}
79+
_ => {}
80+
}
81+
2282
let _seed: UninhabitedUnivariantC = None.unwrap();
2383
match _seed {
2484
UninhabitedUnivariantC::_Variant(_x) => {}

0 commit comments

Comments
 (0)
Please sign in to comment.