about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJames Miller <bladeon@gmail.com>2013-05-09 22:41:26 +1200
committerJames Miller <bladeon@gmail.com>2013-05-09 22:41:54 +1200
commitf5ab112e6b083ab20fdcf9e2fff7dde4a85940b0 (patch)
treef7877f80e6bc634d3914139a6a44be436c79149f
parent050c744c23a8e01407452bc64ca63f92554afee2 (diff)
downloadrust-f5ab112e6b083ab20fdcf9e2fff7dde4a85940b0.tar.gz
rust-f5ab112e6b083ab20fdcf9e2fff7dde4a85940b0.zip
Replace init() with uninit() where appropriate
-rw-r--r--src/libcore/cast.rs2
-rw-r--r--src/libcore/vec.rs13
-rw-r--r--src/libstd/priority_queue.rs4
-rw-r--r--src/libstd/rc.rs4
4 files changed, 9 insertions, 14 deletions
diff --git a/src/libcore/cast.rs b/src/libcore/cast.rs
index 5e6d2f8b910..fe5da8bae69 100644
--- a/src/libcore/cast.rs
+++ b/src/libcore/cast.rs
@@ -25,7 +25,7 @@ pub mod rusti {
 
 /// Casts the value at `src` to U. The two types must have the same length.
 pub unsafe fn transmute_copy<T, U>(src: &T) -> U {
-    let mut dest: U = unstable::intrinsics::init();
+    let mut dest: U = unstable::intrinsics::uninit();
     {
         let dest_ptr: *mut u8 = rusti::transmute(&mut dest);
         let src_ptr: *u8 = rusti::transmute(src);
diff --git a/src/libcore/vec.rs b/src/libcore/vec.rs
index 404e32b2e2e..ea780ff9bdd 100644
--- a/src/libcore/vec.rs
+++ b/src/libcore/vec.rs
@@ -591,8 +591,7 @@ pub fn pop<T>(v: &mut ~[T]) -> T {
     }
     let valptr = ptr::to_mut_unsafe_ptr(&mut v[ln - 1u]);
     unsafe {
-        // FIXME #4204: Should be uninit() - we don't need this zeroed
-        let mut val = intrinsics::init();
+        let mut val = intrinsics::uninit();
         val <-> *valptr;
         raw::set_len(v, ln - 1u);
         val
@@ -666,8 +665,7 @@ pub fn push_all_move<T>(v: &mut ~[T], mut rhs: ~[T]) {
     unsafe {
         do as_mut_buf(rhs) |p, len| {
             for uint::range(0, len) |i| {
-                // FIXME #4204 Should be uninit() - don't need to zero
-                let mut x = intrinsics::init();
+                let mut x = intrinsics::uninit();
                 x <-> *ptr::mut_offset(p, i);
                 push(&mut *v, x);
             }
@@ -683,8 +681,7 @@ pub fn truncate<T>(v: &mut ~[T], newlen: uint) {
         unsafe {
             // This loop is optimized out for non-drop types.
             for uint::range(newlen, oldlen) |i| {
-                // FIXME #4204 Should be uninit() - don't need to zero
-                let mut dropped = intrinsics::init();
+                let mut dropped = intrinsics::uninit();
                 dropped <-> *ptr::mut_offset(p, i);
             }
         }
@@ -709,9 +706,7 @@ pub fn dedup<T:Eq>(v: &mut ~[T]) {
                 // last_written < next_to_read < ln
                 if *ptr::mut_offset(p, next_to_read) ==
                     *ptr::mut_offset(p, last_written) {
-                    // FIXME #4204 Should be uninit() - don't need to
-                    // zero
-                    let mut dropped = intrinsics::init();
+                    let mut dropped = intrinsics::uninit();
                     dropped <-> *ptr::mut_offset(p, next_to_read);
                 } else {
                     last_written += 1;
diff --git a/src/libstd/priority_queue.rs b/src/libstd/priority_queue.rs
index 9bf7db07ac9..2ca13c43d34 100644
--- a/src/libstd/priority_queue.rs
+++ b/src/libstd/priority_queue.rs
@@ -139,7 +139,7 @@ pub impl <T:Ord> PriorityQueue<T> {
             while pos > start {
                 let parent = (pos - 1) >> 1;
                 if new > self.data[parent] {
-                    let mut x = rusti::init();
+                    let mut x = rusti::uninit();
                     x <-> self.data[parent];
                     rusti::move_val_init(&mut self.data[pos], x);
                     pos = parent;
@@ -162,7 +162,7 @@ pub impl <T:Ord> PriorityQueue<T> {
                 if right < end && !(self.data[child] > self.data[right]) {
                     child = right;
                 }
-                let mut x = rusti::init();
+                let mut x = rusti::uninit();
                 x <-> self.data[child];
                 rusti::move_val_init(&mut self.data[pos], x);
                 pos = child;
diff --git a/src/libstd/rc.rs b/src/libstd/rc.rs
index 815f03f4269..3095bdd16d0 100644
--- a/src/libstd/rc.rs
+++ b/src/libstd/rc.rs
@@ -51,7 +51,7 @@ impl<T: Owned> Drop for Rc<T> {
         unsafe {
             (*self.ptr).count -= 1;
             if (*self.ptr).count == 0 {
-                let mut x = intrinsics::init();
+                let mut x = intrinsics::uninit();
                 x <-> *self.ptr;
                 free(self.ptr as *c_void)
             }
@@ -159,7 +159,7 @@ impl<T: Owned> Drop for RcMut<T> {
         unsafe {
             (*self.ptr).count -= 1;
             if (*self.ptr).count == 0 {
-                let mut x = rusti::init();
+                let mut x = rusti::uninit();
                 x <-> *self.ptr;
                 free(self.ptr as *c_void)
             }