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 @@ pub fn downgrade<'a>(&self, token: RWWriteMode<'a, 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(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 @@ pub unsafe fn with(&self, f: |x: &mut T| -> U) -> U { #[inline] pub unsafe fn with_imm(&self, f: |x: &T| -> U) -> U { - self.with(|x| f(cast::transmute_immut(x))) + self.with(|x| f(x)) } #[inline]