diff options
| author | bors <bors@rust-lang.org> | 2013-04-29 14:33:37 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-04-29 14:33:37 -0700 |
| commit | f1ddb8d5cc66941763039d3f727465b7cc34a100 (patch) | |
| tree | 66132a53979403297cbe192ce936cfa7c5b3cb1f /src/libcore/task | |
| parent | dbcc3fe63a71d92d194d99dfd5e73fb62d09e79a (diff) | |
| parent | 78f33437b66793b10eb2a72d0d20cbf2bf0eacb5 (diff) | |
| download | rust-f1ddb8d5cc66941763039d3f727465b7cc34a100.tar.gz rust-f1ddb8d5cc66941763039d3f727465b7cc34a100.zip | |
auto merge of #6080 : pcwalton/rust/demode-everything, r=pcwalton
r? @brson
Diffstat (limited to 'src/libcore/task')
| -rw-r--r-- | src/libcore/task/local_data_priv.rs | 10 | ||||
| -rw-r--r-- | src/libcore/task/mod.rs | 4 | ||||
| -rw-r--r-- | src/libcore/task/spawn.rs | 2 |
3 files changed, 6 insertions, 10 deletions
diff --git a/src/libcore/task/local_data_priv.rs b/src/libcore/task/local_data_priv.rs index 5d1cba79c05..67bc3adeb41 100644 --- a/src/libcore/task/local_data_priv.rs +++ b/src/libcore/task/local_data_priv.rs @@ -59,9 +59,7 @@ unsafe fn get_task_local_map(task: *rust_task) -> TaskLocalMap { let map_ptr = rt::rust_get_task_local_data(task); if map_ptr.is_null() { let map: TaskLocalMap = @mut ~[]; - // Use reinterpret_cast -- transmute would take map away from us also. - rt::rust_set_task_local_data( - task, cast::transmute(map)); + rt::rust_set_task_local_data(task, cast::transmute(map)); rt::rust_task_local_data_atexit(task, cleanup_task_local_map); // Also need to reference it an extra time to keep it for now. let nonmut = cast::transmute::<TaskLocalMap, @@ -77,12 +75,10 @@ unsafe fn get_task_local_map(task: *rust_task) -> TaskLocalMap { } } -unsafe fn key_to_key_value<T:Durable>( - key: LocalDataKey<T>) -> *libc::c_void { - +unsafe fn key_to_key_value<T:Durable>(key: LocalDataKey<T>) -> *libc::c_void { // Keys are closures, which are (fnptr,envptr) pairs. Use fnptr. // Use reintepret_cast -- transmute would leak (forget) the closure. - let pair: (*libc::c_void, *libc::c_void) = cast::reinterpret_cast(&key); + let pair: (*libc::c_void, *libc::c_void) = cast::transmute_copy(&key); pair.first() } diff --git a/src/libcore/task/mod.rs b/src/libcore/task/mod.rs index 2163a0e325f..96429932b18 100644 --- a/src/libcore/task/mod.rs +++ b/src/libcore/task/mod.rs @@ -1028,10 +1028,10 @@ fn avoid_copying_the_body(spawnfn: &fn(v: ~fn())) { let (p, ch) = stream::<uint>(); let x = ~1; - let x_in_parent = ptr::addr_of(&(*x)) as uint; + let x_in_parent = ptr::to_unsafe_ptr(&*x) as uint; do spawnfn || { - let x_in_child = ptr::addr_of(&(*x)) as uint; + let x_in_child = ptr::to_unsafe_ptr(&*x) as uint; ch.send(x_in_child); } diff --git a/src/libcore/task/spawn.rs b/src/libcore/task/spawn.rs index 43fdee67b7a..507643ea5ec 100644 --- a/src/libcore/task/spawn.rs +++ b/src/libcore/task/spawn.rs @@ -93,7 +93,7 @@ use util; #[cfg(test)] use task::default_task_opts; macro_rules! move_it ( - { $x:expr } => ( unsafe { let y = *ptr::addr_of(&($x)); y } ) + { $x:expr } => ( unsafe { let y = *ptr::to_unsafe_ptr(&($x)); y } ) ) type TaskSet = HashSet<*rust_task>; |
