2018-08-30 07:18:55 -05:00
|
|
|
// run-pass
|
2018-06-16 06:19:05 -05:00
|
|
|
#![feature(core_intrinsics)]
|
|
|
|
|
|
|
|
#[repr(i8)]
|
|
|
|
pub enum Enum {
|
|
|
|
VariantA,
|
|
|
|
VariantB,
|
|
|
|
}
|
|
|
|
|
|
|
|
fn make_b() -> Enum { Enum::VariantB }
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
assert_eq!(1, make_b() as i8);
|
|
|
|
assert_eq!(1, make_b() as u8);
|
|
|
|
assert_eq!(1, make_b() as i32);
|
|
|
|
assert_eq!(1, make_b() as u32);
|
2019-10-25 05:03:34 -05:00
|
|
|
assert_eq!(1, std::intrinsics::discriminant_value(&make_b()));
|
2018-06-16 06:19:05 -05:00
|
|
|
}
|