]> git.lizzy.rs Git - rust.git/commitdiff
Add a case to type-sizes to explicitly verify that field reordering triggers.
authorAustin Hicks <camlorn@camlorn.net>
Wed, 7 Dec 2016 17:42:07 +0000 (12:42 -0500)
committerAustin Hicks <camlorn@camlorn.net>
Wed, 14 Dec 2016 17:28:26 +0000 (12:28 -0500)
src/test/run-pass/type-sizes.rs

index bbb01eaaf46b9b43afbdbf4bdbf4c7ebfbf4aa61..6614a76107f8539cd7f3d261e8c165afcf9654b2 100644 (file)
@@ -31,6 +31,10 @@ enum e3 {
     a([u16; 0], u8), b
 }
 
+// Test struct field reordering to make sure it actually reorders.
+struct WillOptimize1(u8, u16, u8);
+struct WillOptimize2 { a: u8, b: u16, c: u8}
+
 pub fn main() {
     assert_eq!(size_of::<u8>(), 1 as usize);
     assert_eq!(size_of::<u32>(), 4 as usize);
@@ -54,4 +58,7 @@ pub fn main() {
     assert_eq!(size_of::<e1>(), 8 as usize);
     assert_eq!(size_of::<e2>(), 8 as usize);
     assert_eq!(size_of::<e3>(), 4 as usize);
+
+    assert_eq!(size_of::<WillOptimize1>(), 4);
+    assert_eq!(size_of::<WillOptimize2>(), 4);
 }