diff options
Diffstat (limited to 'tests/ui/enum-discriminant/issue-51582.rs')
-rw-r--r-- | tests/ui/enum-discriminant/issue-51582.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/ui/enum-discriminant/issue-51582.rs b/tests/ui/enum-discriminant/issue-51582.rs new file mode 100644 index 000000000..40a70c623 --- /dev/null +++ b/tests/ui/enum-discriminant/issue-51582.rs @@ -0,0 +1,18 @@ +// run-pass +#![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); + assert_eq!(1, std::intrinsics::discriminant_value(&make_b())); +} |