diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-07-10 14:43:25 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-07-17 14:57:53 -0700 |
| commit | e20549ff192edec9d625f1119bcb077c3abaf070 (patch) | |
| tree | 9cf88e584f36dc0d7f9f29a2fae55f0203bbc39c /src/libstd/task/local_data_priv.rs | |
| parent | 99d44d24c7744361b352499b5f54b8f0bab876ec (diff) | |
| download | rust-e20549ff192edec9d625f1119bcb077c3abaf070.tar.gz rust-e20549ff192edec9d625f1119bcb077c3abaf070.zip | |
librustc: Remove all uses of the `Copy` bound.
Diffstat (limited to 'src/libstd/task/local_data_priv.rs')
| -rw-r--r-- | src/libstd/task/local_data_priv.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libstd/task/local_data_priv.rs b/src/libstd/task/local_data_priv.rs index 75fd6eacc1b..d5f4973e8c7 100644 --- a/src/libstd/task/local_data_priv.rs +++ b/src/libstd/task/local_data_priv.rs @@ -15,6 +15,7 @@ use libc; use local_data; use prelude::*; use ptr; +use sys; use task::rt; use util; @@ -156,8 +157,9 @@ unsafe fn get_local_map(handle: Handle) -> &mut TaskLocalMap { } } -fn key_to_key_value<T: 'static>(key: local_data::Key<T>) -> *libc::c_void { - unsafe { cast::transmute(key) } +unsafe fn key_to_key_value<T: 'static>(key: local_data::Key<T>) -> *libc::c_void { + let pair: sys::Closure = cast::transmute_copy(&key); + return pair.code as *libc::c_void; } pub unsafe fn local_pop<T: 'static>(handle: Handle, |
