diff options
Diffstat (limited to 'src/libstd/task/local_data_priv.rs')
| -rw-r--r-- | src/libstd/task/local_data_priv.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libstd/task/local_data_priv.rs b/src/libstd/task/local_data_priv.rs index 42cfcbc16db..1a2141e996a 100644 --- a/src/libstd/task/local_data_priv.rs +++ b/src/libstd/task/local_data_priv.rs @@ -15,9 +15,9 @@ use libc; use local_data; use prelude::*; use ptr; -use sys; use task::rt; use util; +use vec; use super::rt::rust_task; use rt::task::{Task, LocalStorage}; @@ -142,9 +142,8 @@ unsafe fn get_local_map(handle: Handle) -> &mut TaskLocalMap { } } -unsafe fn key_to_key_value<T: 'static>(key: local_data::Key<T>) -> *libc::c_void { - let pair: sys::Closure = cast::transmute(key); - return pair.code as *libc::c_void; +fn key_to_key_value<T: 'static>(key: local_data::Key<T>) -> *libc::c_void { + return vec::raw::to_ptr(key) as *libc::c_void; } pub unsafe fn local_pop<T: 'static>(handle: Handle, |
