diff options
| author | Bastian Kersting <bkersting@google.com> | 2025-07-02 20:33:28 +0300 |
|---|---|---|
| committer | Bastian Kersting <bkersting@google.com> | 2025-07-07 17:58:44 +0200 |
| commit | b4e68e212ece6896ea574c6345e14d4350c5c517 (patch) | |
| tree | 266e628224c9dd3fb412fc0d1094f11076944ca9 | |
| parent | 6268d0aa34b46981533b09827c1454b8cf27e032 (diff) | |
| download | rust-b4e68e212ece6896ea574c6345e14d4350c5c517.tar.gz rust-b4e68e212ece6896ea574c6345e14d4350c5c517.zip | |
Respect endianness correctly in CheckEnums test suite
The endianness can change the test expectation for the enum check. This change is fixing the failing tests on big endian by changing the tests so that they behave the same as on little endian.
| -rw-r--r-- | tests/ui/mir/enum/convert_non_integer_break.rs (renamed from tests/ui/mir/enum/convert_non_enum_break.rs) | 7 | ||||
| -rw-r--r-- | tests/ui/mir/enum/convert_non_integer_niche_break.rs (renamed from tests/ui/mir/enum/convert_non_enum_niche_break.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/mir/enum/convert_non_integer_niche_ok.rs (renamed from tests/ui/mir/enum/convert_non_enum_niche_ok.rs) | 0 | ||||
| -rw-r--r-- | tests/ui/mir/enum/convert_non_integer_ok.rs (renamed from tests/ui/mir/enum/convert_non_enum_ok.rs) | 7 | ||||
| -rw-r--r-- | tests/ui/mir/enum/niche_option_tuple_break.rs | 11 | ||||
| -rw-r--r-- | tests/ui/mir/enum/with_niche_int_break.rs | 4 |
6 files changed, 14 insertions, 15 deletions
diff --git a/tests/ui/mir/enum/convert_non_enum_break.rs b/tests/ui/mir/enum/convert_non_integer_break.rs index de062c39907..29795190bf6 100644 --- a/tests/ui/mir/enum/convert_non_enum_break.rs +++ b/tests/ui/mir/enum/convert_non_integer_break.rs @@ -1,6 +1,6 @@ //@ run-fail //@ compile-flags: -C debug-assertions -//@ error-pattern: trying to construct an enum from an invalid value 0x10000 +//@ error-pattern: trying to construct an enum from an invalid value #[allow(dead_code)] #[repr(u32)] @@ -11,10 +11,9 @@ enum Foo { #[allow(dead_code)] struct Bar { - a: u16, - b: u16, + a: u32, } fn main() { - let _val: Foo = unsafe { std::mem::transmute::<_, Foo>(Bar { a: 0, b: 1 }) }; + let _val: Foo = unsafe { std::mem::transmute::<_, Foo>(Bar { a: 3 }) }; } diff --git a/tests/ui/mir/enum/convert_non_enum_niche_break.rs b/tests/ui/mir/enum/convert_non_integer_niche_break.rs index 9ff4849c5b1..9ff4849c5b1 100644 --- a/tests/ui/mir/enum/convert_non_enum_niche_break.rs +++ b/tests/ui/mir/enum/convert_non_integer_niche_break.rs diff --git a/tests/ui/mir/enum/convert_non_enum_niche_ok.rs b/tests/ui/mir/enum/convert_non_integer_niche_ok.rs index 24027da5458..24027da5458 100644 --- a/tests/ui/mir/enum/convert_non_enum_niche_ok.rs +++ b/tests/ui/mir/enum/convert_non_integer_niche_ok.rs diff --git a/tests/ui/mir/enum/convert_non_enum_ok.rs b/tests/ui/mir/enum/convert_non_integer_ok.rs index 37fc64342ca..c9831531386 100644 --- a/tests/ui/mir/enum/convert_non_enum_ok.rs +++ b/tests/ui/mir/enum/convert_non_integer_ok.rs @@ -10,11 +10,10 @@ enum Foo { #[allow(dead_code)] struct Bar { - a: u16, - b: u16, + a: u32, } fn main() { - let _val: Foo = unsafe { std::mem::transmute::<_, Foo>(Bar { a: 0, b: 0 }) }; - let _val: Foo = unsafe { std::mem::transmute::<_, Foo>(Bar { a: 1, b: 0 }) }; + let _val: Foo = unsafe { std::mem::transmute::<_, Foo>(Bar { a: 0 }) }; + let _val: Foo = unsafe { std::mem::transmute::<_, Foo>(Bar { a: 1 }) }; } diff --git a/tests/ui/mir/enum/niche_option_tuple_break.rs b/tests/ui/mir/enum/niche_option_tuple_break.rs index 43eef3a4cc5..affdc4784a3 100644 --- a/tests/ui/mir/enum/niche_option_tuple_break.rs +++ b/tests/ui/mir/enum/niche_option_tuple_break.rs @@ -1,8 +1,9 @@ //@ run-fail //@ compile-flags: -C debug-assertions -//@ error-pattern: trying to construct an enum from an invalid value 0x3 +//@ error-pattern: trying to construct an enum from an invalid value #[allow(dead_code)] +#[repr(u32)] enum Foo { A, B, @@ -10,11 +11,11 @@ enum Foo { #[allow(dead_code)] struct Bar { - a: usize, - b: usize, + a: u32, + b: u32, } fn main() { - let _val: Option<(usize, Foo)> = - unsafe { std::mem::transmute::<_, Option<(usize, Foo)>>(Bar { a: 3, b: 3 }) }; + let _val: Option<(u32, Foo)> = + unsafe { std::mem::transmute::<_, Option<(u32, Foo)>>(Bar { a: 3, b: 3 }) }; } diff --git a/tests/ui/mir/enum/with_niche_int_break.rs b/tests/ui/mir/enum/with_niche_int_break.rs index 0ec60a33564..6a97eaa8f4f 100644 --- a/tests/ui/mir/enum/with_niche_int_break.rs +++ b/tests/ui/mir/enum/with_niche_int_break.rs @@ -1,6 +1,6 @@ //@ run-fail //@ compile-flags: -C debug-assertions -//@ error-pattern: trying to construct an enum from an invalid value 0x4 +//@ error-pattern: trying to construct an enum from an invalid value #[allow(dead_code)] #[repr(u16)] @@ -17,5 +17,5 @@ enum Nested { } fn main() { - let _val: Nested = unsafe { std::mem::transmute::<u32, Nested>(4) }; + let _val: Nested = unsafe { std::mem::transmute::<u32, Nested>(u32::MAX) }; } |
