summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-03-28 20:26:28 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-03-29 08:41:25 -0700
commit6f0cbf4cd4364ee5d7b2c723089dfacf711df8f4 (patch)
treeff47035aef807698ebcb8fc8672b4130499ccd95 /src/libstd
parent0d5d2e5e149f3ca1907e924968e36ca6fe5f45e9 (diff)
downloadrust-6f0cbf4cd4364ee5d7b2c723089dfacf711df8f4.tar.gz
rust-6f0cbf4cd4364ee5d7b2c723089dfacf711df8f4.zip
stdlib: Fix a pointer mistake in arenas
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/arena.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libstd/arena.rs b/src/libstd/arena.rs
index 3c316ecf5cc..6d8bc9fa0c3 100644
--- a/src/libstd/arena.rs
+++ b/src/libstd/arena.rs
@@ -37,9 +37,11 @@ impl arena for arena {
             end = n_bytes;
         }
 
-        let p = ptr::offset(ptr::addr_of(head.fill), start);
-        head.fill = end;
-        unsafe { ret unsafe::reinterpret_cast(p); }
+        unsafe {
+            let p = ptr::offset(vec::unsafe::to_ptr(head.data), start);
+            head.fill = end;
+            ret unsafe::reinterpret_cast(p);
+        }
     }
 }