From cedc428a5fa988a3d7639a0fa45b726e0fd698ed Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sat, 7 May 2022 15:01:25 +0200 Subject: fix the layout of repr(align) enums --- src/test/ui/aligned_enum_cast.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/test/ui/aligned_enum_cast.rs') diff --git a/src/test/ui/aligned_enum_cast.rs b/src/test/ui/aligned_enum_cast.rs index 4b5776a6aa8..7fbfc760d09 100644 --- a/src/test/ui/aligned_enum_cast.rs +++ b/src/test/ui/aligned_enum_cast.rs @@ -11,5 +11,13 @@ enum Aligned { fn main() { let aligned = Aligned::Zero; let fo = aligned as u8; - println!("foo {}",fo); + println!("foo {}", fo); + println!("{}", tou8(Aligned::Zero)); +} + +#[inline(never)] +fn tou8(al: Aligned) -> u8 { + // Cast behind a function call so ConstProp does not see it + // (so that we can test codegen). + al as u8 } -- cgit 1.4.1-3-g733a5 From d5721ce3a0f0d8eb2c46d87440b1977b5aef972c Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Tue, 5 Jul 2022 13:26:52 -0400 Subject: add asserts --- src/test/ui/aligned_enum_cast.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/test/ui/aligned_enum_cast.rs') diff --git a/src/test/ui/aligned_enum_cast.rs b/src/test/ui/aligned_enum_cast.rs index 7fbfc760d09..1ddf127172e 100644 --- a/src/test/ui/aligned_enum_cast.rs +++ b/src/test/ui/aligned_enum_cast.rs @@ -12,7 +12,9 @@ fn main() { let aligned = Aligned::Zero; let fo = aligned as u8; println!("foo {}", fo); + assert_eq!(fo, 0); println!("{}", tou8(Aligned::Zero)); + assert_eq!(tou8(Aligned::Zero), 0); } #[inline(never)] -- cgit 1.4.1-3-g733a5