about summary refs log tree commit diff
path: root/src/librustc/session/code_stats.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustc/session/code_stats.rs')
-rw-r--r--src/librustc/session/code_stats.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/librustc/session/code_stats.rs b/src/librustc/session/code_stats.rs
index 8308c54d70b..a042b2abf3a 100644
--- a/src/librustc/session/code_stats.rs
+++ b/src/librustc/session/code_stats.rs
@@ -142,7 +142,12 @@ impl CodeStats {
                 max_variant_size = cmp::max(max_variant_size, size);
 
                 let mut min_offset = discr_size;
-                for field in fields {
+
+                // We want to print fields by increasing offset.
+                let mut fields = fields.clone();
+                fields.sort_by_key(|f| f.offset);
+
+                for field in fields.iter() {
                     let FieldInfo { ref name, offset, size, align } = *field;
 
                     // Include field alignment in output only if it caused padding injection