From e20549ff192edec9d625f1119bcb077c3abaf070 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Wed, 10 Jul 2013 14:43:25 -0700 Subject: librustc: Remove all uses of the `Copy` bound. --- src/libstd/task/local_data_priv.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/libstd/task') 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(key: local_data::Key) -> *libc::c_void { - unsafe { cast::transmute(key) } +unsafe fn key_to_key_value(key: local_data::Key) -> *libc::c_void { + let pair: sys::Closure = cast::transmute_copy(&key); + return pair.code as *libc::c_void; } pub unsafe fn local_pop(handle: Handle, -- cgit 1.4.1-3-g733a5