about summary refs log tree commit diff
path: root/src/libstd/rt/rc.rs
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2013-09-17 11:44:59 -0400
committerDaniel Micay <danielmicay@gmail.com>2013-09-17 11:54:37 -0400
commitbefc561fa4f76b058fc4d9d14f7ed508df0cb272 (patch)
treea4501190bcf795413fae44891619efd4a34f98b7 /src/libstd/rt/rc.rs
parent29cdf58861b1054c899c911343ccd8b1af28151a (diff)
remove unnecessary transmutes
Diffstat (limited to 'src/libstd/rt/rc.rs')
-rw-r--r--src/libstd/rt/rc.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/libstd/rt/rc.rs b/src/libstd/rt/rc.rs
index 0a6890f627b..2ba00c3a2fb 100644
--- a/src/libstd/rt/rc.rs
+++ b/src/libstd/rt/rc.rs
@@ -78,17 +78,14 @@ impl<T> Drop for RC<T> {
         assert!(self.refcount() > 0);
 
         unsafe {
-            // FIXME(#4330) Need self by value to get mutability.
-            let this: &mut RC<T> = cast::transmute_mut(self);
-
-            match *this.get_mut_state() {
+            match *self.get_mut_state() {
                 (ref mut count, _) => {
                     *count = *count - 1
                 }
             }
 
-            if this.refcount() == 0 {
-                let _: ~(uint, T) = cast::transmute(this.p);
+            if self.refcount() == 0 {
+                let _: ~(uint, T) = cast::transmute(self.p);
             }
         }
     }