From e835c6b042b88720d5fd0d606d25e0ea4fa27b1a Mon Sep 17 00:00:00 2001 From: Huon Wilson Date: Thu, 29 Aug 2013 22:28:49 +1000 Subject: rt: remove a series of unfortunate casts. --- src/libstd/rt/local_ptr.rs | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/rt/local_ptr.rs b/src/libstd/rt/local_ptr.rs index e843fd1adef..3f9b7fc83df 100644 --- a/src/libstd/rt/local_ptr.rs +++ b/src/libstd/rt/local_ptr.rs @@ -121,27 +121,20 @@ pub unsafe fn borrow(f: &fn(&mut T)) { /// For the Scheduler pointer to be aliased pub unsafe fn unsafe_borrow() -> *mut T { let key = tls_key(); - let mut void_ptr: *mut c_void = tls::get(key); + let void_ptr = tls::get(key); if void_ptr.is_null() { rtabort!("thread-local pointer is null. bogus!"); } - let ptr: *mut *mut c_void = &mut void_ptr; - let ptr: *mut ~T = ptr as *mut ~T; - let ptr: *mut T = &mut **ptr; - return ptr; + void_ptr as *mut T } pub unsafe fn try_unsafe_borrow() -> Option<*mut T> { let key = tls_key(); - let mut void_ptr: *mut c_void = tls::get(key); + let void_ptr = tls::get(key); if void_ptr.is_null() { - return None; - } - { - let ptr: *mut *mut c_void = &mut void_ptr; - let ptr: *mut ~T = ptr as *mut ~T; - let ptr: *mut T = &mut **ptr; - return Some(ptr); + None + } else { + Some(void_ptr as *mut T) } } -- cgit 1.4.1-3-g733a5