diff options
Diffstat (limited to 'tests/ui/enum-discriminant/discriminant_value-wrapper.rs')
-rw-r--r-- | tests/ui/enum-discriminant/discriminant_value-wrapper.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/enum-discriminant/discriminant_value-wrapper.rs b/tests/ui/enum-discriminant/discriminant_value-wrapper.rs new file mode 100644 index 000000000..8e162d5c4 --- /dev/null +++ b/tests/ui/enum-discriminant/discriminant_value-wrapper.rs @@ -0,0 +1,20 @@ +// run-pass + +#![allow(enum_intrinsics_non_enums)] + +use std::mem; + +#[allow(unused_tuple_struct_fields)] +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"); +} |