about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libextra/arc.rs2
-rw-r--r--src/libstd/cast.rs6
-rw-r--r--src/libstd/unstable/sync.rs2
3 files changed, 2 insertions, 8 deletions
diff --git a/src/libextra/arc.rs b/src/libextra/arc.rs
index 770aa6432cf..d4fa7252f77 100644
--- a/src/libextra/arc.rs
+++ b/src/libextra/arc.rs
@@ -485,7 +485,7 @@ impl<T:Freeze + Send> RWArc<T> {
             // Whatever region the input reference had, it will be safe to use
             // the same region for the output reference. (The only 'unsafe' part
             // of this cast is removing the mutability.)
-            let new_data = cast::transmute_immut(data);
+            let new_data = data;
             // Downgrade ensured the token belonged to us. Just a sanity check.
             assert!(borrow::ref_eq(&(*state).data, new_data));
             // Produce new token
diff --git a/src/libstd/cast.rs b/src/libstd/cast.rs
index bc4579c00a0..08276082ebb 100644
--- a/src/libstd/cast.rs
+++ b/src/libstd/cast.rs
@@ -62,12 +62,6 @@ pub unsafe fn transmute<L, G>(thing: L) -> G {
 #[inline]
 pub unsafe fn transmute_mut<'a,T>(ptr: &'a T) -> &'a mut T { transmute(ptr) }
 
-/// Coerce a mutable reference to be immutable.
-#[inline]
-pub unsafe fn transmute_immut<'a,T>(ptr: &'a mut T) -> &'a T {
-    transmute(ptr)
-}
-
 /// Coerce a borrowed pointer to have an arbitrary associated region.
 #[inline]
 pub unsafe fn transmute_region<'a,'b,T>(ptr: &'a T) -> &'b T {
diff --git a/src/libstd/unstable/sync.rs b/src/libstd/unstable/sync.rs
index 02b35992f8c..420c1d69d1c 100644
--- a/src/libstd/unstable/sync.rs
+++ b/src/libstd/unstable/sync.rs
@@ -420,7 +420,7 @@ impl<T:Send> Exclusive<T> {
 
     #[inline]
     pub unsafe fn with_imm<U>(&self, f: |x: &T| -> U) -> U {
-        self.with(|x| f(cast::transmute_immut(x)))
+        self.with(|x| f(x))
     }
 
     #[inline]