about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAustin Hicks <camlorn@camlorn.net>2016-11-23 16:50:36 -0500
committerAustin Hicks <camlorn@camlorn.net>2016-12-14 12:28:24 -0500
commite9580e262bee0f8a5487f1a549feea561396eb20 (patch)
tree65b3268082e1baefb6367bca9727c9bbda063197 /src
parent052e59cc128993abfc5e1c8ce9148bef97df572c (diff)
downloadrust-e9580e262bee0f8a5487f1a549feea561396eb20.tar.gz
rust-e9580e262bee0f8a5487f1a549feea561396eb20.zip
Some small fixes to how structs/enums are optimized
Diffstat (limited to 'src')
-rw-r--r--src/librustc/ty/layout.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/librustc/ty/layout.rs b/src/librustc/ty/layout.rs
index 342542edcf0..6f63b15abe8 100644
--- a/src/librustc/ty/layout.rs
+++ b/src/librustc/ty/layout.rs
@@ -585,10 +585,10 @@ impl<'a, 'gcx, 'tcx> Struct {
 
         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)
             }
         };