about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorZiad Hatahet <hatahet@gmail.com>2013-11-21 11:31:58 -0800
committerZiad Hatahet <hatahet@gmail.com>2013-11-21 11:31:58 -0800
commit248cb90dfa00a7efdd51eb457afd9b59246b2d24 (patch)
tree823114ae018b9861b763da1900090ce7028c1caf /src
parent760942d7d2a0701f526a5bc634419df7a1e941fe (diff)
downloadrust-248cb90dfa00a7efdd51eb457afd9b59246b2d24.tar.gz
rust-248cb90dfa00a7efdd51eb457afd9b59246b2d24.zip
`std::ptr::read_ptr` now takes `*T` instead of `*mut T`
Closes #10579
Diffstat (limited to 'src')
-rw-r--r--src/libstd/ptr.rs4
-rw-r--r--src/libstd/vec.rs2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/libstd/ptr.rs b/src/libstd/ptr.rs
index 887f7f2e9a6..9f60c3a32b2 100644
--- a/src/libstd/ptr.rs
+++ b/src/libstd/ptr.rs
@@ -155,7 +155,7 @@ pub unsafe fn replace_ptr<T>(dest: *mut T, mut src: T) -> T {
  * Reads the value from `*src` and returns it. Does not copy `*src`.
  */
 #[inline(always)]
-pub unsafe fn read_ptr<T>(src: *mut T) -> T {
+pub unsafe fn read_ptr<T>(src: *T) -> T {
     let mut tmp: T = intrinsics::uninit();
     copy_nonoverlapping_memory(&mut tmp, src, 1);
     tmp
@@ -168,7 +168,7 @@ pub unsafe fn read_ptr<T>(src: *mut T) -> T {
 #[inline(always)]
 pub unsafe fn read_and_zero_ptr<T>(dest: *mut T) -> T {
     // Copy the data out from `dest`:
-    let tmp = read_ptr(dest);
+    let tmp = read_ptr(&*dest);
 
     // Now zero out `dest`:
     zero_memory(dest, 1);
diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs
index 2bd6a00ed4a..079d8adae58 100644
--- a/src/libstd/vec.rs
+++ b/src/libstd/vec.rs
@@ -1527,7 +1527,7 @@ impl<T> OwnedVector<T> for ~[T] {
                 let valptr = ptr::to_mut_unsafe_ptr(&mut self[ln - 1u]);
                 unsafe {
                     raw::set_len(self, ln - 1u);
-                    Some(ptr::read_ptr(valptr))
+                    Some(ptr::read_ptr(&*valptr))
                 }
             }
         }