Skip to content

Commit ea27391

Browse files
committed
Rebase discriminant_value test. Add case for a specialized repr.
1 parent 800c5f8 commit ea27391

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/test/run-pass/discriminant_value.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11+
#![feature(core)]
12+
1113
extern crate core;
1214
use core::intrinsics::discriminant_value;
1315

@@ -25,6 +27,14 @@ enum CLike2 {
2527
D
2628
}
2729

30+
#[repr(i8)]
31+
enum CLike3 {
32+
A = 5,
33+
B,
34+
C = -1,
35+
D
36+
}
37+
2838
enum ADT {
2939
First(u32, u32),
3040
Second(u64)
@@ -50,6 +60,11 @@ pub fn main() {
5060
assert_eq!(discriminant_value(&CLike2::C), 19);
5161
assert_eq!(discriminant_value(&CLike2::D), 20);
5262

63+
assert_eq!(discriminant_value(&CLike3::A), 5);
64+
assert_eq!(discriminant_value(&CLike3::B), 6);
65+
assert_eq!(discriminant_value(&CLike3::C), -1_i8 as u64);
66+
assert_eq!(discriminant_value(&CLike3::D), 0);
67+
5368
assert_eq!(discriminant_value(&ADT::First(0,0)), 0);
5469
assert_eq!(discriminant_value(&ADT::Second(5)), 1);
5570

0 commit comments

Comments
 (0)