Skip to content

Commit 79c35bb

Browse files
committed
Add a case to type-sizes to explicitly verify that field reordering triggers.
1 parent 9966bbd commit 79c35bb

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/test/run-pass/type-sizes.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ enum e3 {
3131
a([u16; 0], u8), b
3232
}
3333

34+
// Test struct field reordering to make sure it actually reorders.
35+
struct WillOptimize1(u8, u16, u8);
36+
struct WillOptimize2 { a: u8, b: u16, c: u8}
37+
3438
pub fn main() {
3539
assert_eq!(size_of::<u8>(), 1 as usize);
3640
assert_eq!(size_of::<u32>(), 4 as usize);
@@ -54,4 +58,7 @@ pub fn main() {
5458
assert_eq!(size_of::<e1>(), 8 as usize);
5559
assert_eq!(size_of::<e2>(), 8 as usize);
5660
assert_eq!(size_of::<e3>(), 4 as usize);
61+
62+
assert_eq!(size_of::<WillOptimize1>(), 4);
63+
assert_eq!(size_of::<WillOptimize2>(), 4);
5764
}

0 commit comments

Comments
 (0)