]> git.lizzy.rs Git - rust.git/commitdiff
Some small fixes to how structs/enums are optimized
authorAustin Hicks <camlorn@camlorn.net>
Wed, 23 Nov 2016 21:50:36 +0000 (16:50 -0500)
committerAustin Hicks <camlorn@camlorn.net>
Wed, 14 Dec 2016 17:28:24 +0000 (12:28 -0500)
src/librustc/ty/layout.rs

index 342542edcf0800d3d190ddad02174c6b7d9e1123..6f63b15abe8a7c2f3915807f62c6e06dda098d2c 100644 (file)
@@ -585,10 +585,10 @@ fn new(dl: &TargetDataLayout, fields: &Vec<&'a Layout>,
 
         let (optimize, sort_ascending) = match kind {
             StructKind::AlwaysSizedUnivariant => (can_optimize, false),
-            StructKind::MaybeUnsizedUnivariant => (can_optimize, true),
+            StructKind::MaybeUnsizedUnivariant => (can_optimize, false),
             StructKind::EnumVariant => {
                 assert!(fields.len() >= 1, "Enum variants must have discriminants.");
-                (can_optimize, fields[0].size(dl).bytes() == 1)
+                (can_optimize || fields[0].size(dl).bytes() == 1, true)
             }
         };