diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-09-17 11:44:59 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-09-17 11:54:37 -0400 |
| commit | befc561fa4f76b058fc4d9d14f7ed508df0cb272 (patch) | |
| tree | a4501190bcf795413fae44891619efd4a34f98b7 /src | |
| parent | 29cdf58861b1054c899c911343ccd8b1af28151a (diff) | |
| download | rust-befc561fa4f76b058fc4d9d14f7ed508df0cb272.tar.gz rust-befc561fa4f76b058fc4d9d14f7ed508df0cb272.zip | |
remove unnecessary transmutes
Diffstat (limited to 'src')
| -rw-r--r-- | src/libextra/workcache.rs | 1 | ||||
| -rw-r--r-- | src/libstd/rt/rc.rs | 9 | ||||
| -rw-r--r-- | src/libstd/rt/uv/uvio.rs | 18 | ||||
| -rw-r--r-- | src/libstd/unstable/atomics.rs | 8 |
4 files changed, 8 insertions, 28 deletions
diff --git a/src/libextra/workcache.rs b/src/libextra/workcache.rs index 4d3b5ae035e..24ab8360e8f 100644 --- a/src/libextra/workcache.rs +++ b/src/libextra/workcache.rs @@ -198,7 +198,6 @@ impl Database { } } -// FIXME #4330: use &mut self here #[unsafe_destructor] impl Drop for Database { fn drop(&mut self) { 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); } } } diff --git a/src/libstd/rt/uv/uvio.rs b/src/libstd/rt/uv/uvio.rs index f3b97441e8e..8c827430f25 100644 --- a/src/libstd/rt/uv/uvio.rs +++ b/src/libstd/rt/uv/uvio.rs @@ -188,11 +188,7 @@ impl UvEventLoop { impl Drop for UvEventLoop { fn drop(&mut self) { - // XXX: Need mutable finalizer - let this = unsafe { - transmute::<&UvEventLoop, &mut UvEventLoop>(self) - }; - this.uvio.uv_loop().close(); + self.uvio.uv_loop().close(); } } @@ -648,9 +644,7 @@ impl UvTcpListener { impl Drop for UvTcpListener { fn drop(&mut self) { - // XXX need mutable finalizer - let self_ = unsafe { transmute::<&UvTcpListener, &mut UvTcpListener>(self) }; - do self_.home_for_io_with_sched |self_, scheduler| { + do self.home_for_io_with_sched |self_, scheduler| { do scheduler.deschedule_running_task_and_then |_, task| { let task = Cell::new(task); do self_.watcher.as_stream().close { @@ -763,9 +757,7 @@ impl HomingIO for UvTcpStream { impl Drop for UvTcpStream { fn drop(&mut self) { - // XXX need mutable finalizer - let this = unsafe { transmute::<&UvTcpStream, &mut UvTcpStream>(self) }; - do this.home_for_io_with_sched |self_, scheduler| { + do self.home_for_io_with_sched |self_, scheduler| { do scheduler.deschedule_running_task_and_then |_, task| { let task_cell = Cell::new(task); do self_.watcher.as_stream().close { @@ -922,9 +914,7 @@ impl HomingIO for UvUdpSocket { impl Drop for UvUdpSocket { fn drop(&mut self) { - // XXX need mutable finalizer - let this = unsafe { transmute::<&UvUdpSocket, &mut UvUdpSocket>(self) }; - do this.home_for_io_with_sched |self_, scheduler| { + do self.home_for_io_with_sched |self_, scheduler| { do scheduler.deschedule_running_task_and_then |_, task| { let task_cell = Cell::new(task); do self_.watcher.close { diff --git a/src/libstd/unstable/atomics.rs b/src/libstd/unstable/atomics.rs index a32b52db1cc..e8835462a80 100644 --- a/src/libstd/unstable/atomics.rs +++ b/src/libstd/unstable/atomics.rs @@ -339,13 +339,7 @@ impl<T> AtomicOption<T> { #[unsafe_destructor] impl<T> Drop for AtomicOption<T> { fn drop(&mut self) { - // This will ensure that the contained data is - // destroyed, unless it's null. - unsafe { - // FIXME(#4330) Need self by value to get mutability. - let this : &mut AtomicOption<T> = cast::transmute(self); - let _ = this.take(SeqCst); - } + let _ = self.take(SeqCst); } } |
