2019-05-09 16:08:55 -05:00
|
|
|
// run-pass
|
2021-07-31 11:14:30 -05:00
|
|
|
|
|
|
|
#![allow(enum_intrinsics_non_enums)]
|
|
|
|
|
2016-06-29 11:15:59 -05:00
|
|
|
use std::mem;
|
|
|
|
|
2022-07-25 15:36:03 -05:00
|
|
|
#[allow(unused_tuple_struct_fields)]
|
2016-06-29 11:15:59 -05:00
|
|
|
enum ADT {
|
|
|
|
First(u32, u32),
|
|
|
|
Second(u64)
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn main() {
|
|
|
|
assert!(mem::discriminant(&ADT::First(0,0)) == mem::discriminant(&ADT::First(1,1)));
|
|
|
|
assert!(mem::discriminant(&ADT::Second(5)) == mem::discriminant(&ADT::Second(6)));
|
|
|
|
assert!(mem::discriminant(&ADT::First(2,2)) != mem::discriminant(&ADT::Second(2)));
|
|
|
|
|
|
|
|
let _ = mem::discriminant(&10);
|
|
|
|
let _ = mem::discriminant(&"test");
|
|
|
|
}
|