about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/repr.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs
index 3e2c5773acc..003dda294da 100644
--- a/src/libstd/repr.rs
+++ b/src/libstd/repr.rs
@@ -381,10 +381,11 @@ impl<'self> TyVisitor for ReprVisitor<'self> {
         }
     }
 
-    fn visit_evec_fixed(&mut self, _n: uint, sz: uint, _align: uint,
+    fn visit_evec_fixed(&mut self, n: uint, sz: uint, _align: uint,
                         mtbl: uint, inner: *TyDesc) -> bool {
+        let assumed_size = if sz == 0 { n } else { sz };
         do self.get::<()> |this, b| {
-            this.write_vec_range(mtbl, ptr::to_unsafe_ptr(b), sz, inner);
+            this.write_vec_range(mtbl, ptr::to_unsafe_ptr(b), assumed_size, inner);
         }
     }