diff --git a/src/libcore/condition.rs b/src/libcore/condition.rs index 1240fe03dd54d..75c6cf0e969a3 100644 --- a/src/libcore/condition.rs +++ b/src/libcore/condition.rs @@ -12,7 +12,7 @@ use prelude::*; use task; -use task::local_data::{local_data_pop, local_data_set}; +use local_data::{local_data_pop, local_data_set}; // helper for transmutation, shown below. type RustClosure = (int, int); @@ -24,14 +24,14 @@ pub struct Handler { pub struct Condition<'self, T, U> { name: &'static str, - key: task::local_data::LocalDataKey<'self, Handler> + key: local_data::LocalDataKey<'self, Handler> } pub impl<'self, T, U> Condition<'self, T, U> { fn trap(&'self self, h: &'self fn(T) -> U) -> Trap<'self, T, U> { unsafe { let p : *RustClosure = ::cast::transmute(&h); - let prev = task::local_data::local_data_get(self.key); + let prev = local_data::local_data_get(self.key); let h = @Handler { handle: *p, prev: prev }; Trap { cond: self, handler: h } } diff --git a/src/libcore/core.rc b/src/libcore/core.rc index 31229967e934e..3cc95e5a175ea 100644 --- a/src/libcore/core.rc +++ b/src/libcore/core.rc @@ -215,6 +215,7 @@ pub mod trie; pub mod task; pub mod comm; pub mod pipes; +pub mod local_data; /* Runtime and platform support */ diff --git a/src/libcore/task/local_data.rs b/src/libcore/local_data.rs similarity index 100% rename from src/libcore/task/local_data.rs rename to src/libcore/local_data.rs diff --git a/src/libcore/os.rs b/src/libcore/os.rs index 574618026d983..26d4790705ab9 100644 --- a/src/libcore/os.rs +++ b/src/libcore/os.rs @@ -1208,7 +1208,7 @@ fn overridden_arg_key(_v: @OverriddenArgs) {} pub fn args() -> ~[~str] { unsafe { - match task::local_data::local_data_get(overridden_arg_key) { + match local_data::local_data_get(overridden_arg_key) { None => real_args(), Some(args) => copy args.val } @@ -1218,7 +1218,7 @@ pub fn args() -> ~[~str] { pub fn set_args(new_args: ~[~str]) { unsafe { let overridden_args = @OverriddenArgs { val: copy new_args }; - task::local_data::local_data_set(overridden_arg_key, overridden_args); + local_data::local_data_set(overridden_arg_key, overridden_args); } } diff --git a/src/libcore/prelude.rs b/src/libcore/prelude.rs index d263d2cdbee9e..22172db930223 100644 --- a/src/libcore/prelude.rs +++ b/src/libcore/prelude.rs @@ -81,6 +81,7 @@ pub use io; pub use iter; pub use old_iter; pub use libc; +pub use local_data; pub use num; pub use ops; pub use option; diff --git a/src/libcore/rand.rs b/src/libcore/rand.rs index f11840c95d5ac..2eb429a5e9cb0 100644 --- a/src/libcore/rand.rs +++ b/src/libcore/rand.rs @@ -836,13 +836,13 @@ fn tls_rng_state(_v: @@mut IsaacRng) {} pub fn task_rng() -> @@mut IsaacRng { let r : Option<@@mut IsaacRng>; unsafe { - r = task::local_data::local_data_get(tls_rng_state); + r = local_data::local_data_get(tls_rng_state); } match r { None => { unsafe { let rng = @@mut IsaacRng::new_seeded(seed()); - task::local_data::local_data_set(tls_rng_state, rng); + local_data::local_data_set(tls_rng_state, rng); rng } } diff --git a/src/libcore/rt/local_services.rs b/src/libcore/rt/local_services.rs index 5ca7a72e84e86..01bef5e245888 100644 --- a/src/libcore/rt/local_services.rs +++ b/src/libcore/rt/local_services.rs @@ -198,7 +198,7 @@ mod test { #[test] fn tls() { - use task::local_data::*; + use local_data::*; do run_in_newsched_task() { unsafe { fn key(_x: @~str) { } diff --git a/src/libcore/task/local_data_priv.rs b/src/libcore/task/local_data_priv.rs index 97628f38a7b81..a30db039f30d7 100644 --- a/src/libcore/task/local_data_priv.rs +++ b/src/libcore/task/local_data_priv.rs @@ -15,7 +15,7 @@ use cmp::Eq; use libc; use prelude::*; use task::rt; -use task::local_data::LocalDataKey; +use local_data::LocalDataKey; use super::rt::rust_task; use rt::local_services::LocalStorage; diff --git a/src/libcore/task/mod.rs b/src/libcore/task/mod.rs index e58aa14572b7e..2484d8c5feda4 100644 --- a/src/libcore/task/mod.rs +++ b/src/libcore/task/mod.rs @@ -47,7 +47,6 @@ use unstable::finally::Finally; #[cfg(test)] use comm::SharedChan; mod local_data_priv; -pub mod local_data; pub mod rt; pub mod spawn; diff --git a/src/librustdoc/extract.rs b/src/librustdoc/extract.rs index 34faf6cefa32b..0c49d457ad809 100644 --- a/src/librustdoc/extract.rs +++ b/src/librustdoc/extract.rs @@ -14,7 +14,7 @@ use astsrv; use doc::ItemUtils; use doc; -use core::task::local_data::local_data_get; +use core::local_data::local_data_get; use syntax::ast; use syntax; diff --git a/src/libstd/rl.rs b/src/libstd/rl.rs index b2407be0b991e..81152430e784b 100644 --- a/src/libstd/rl.rs +++ b/src/libstd/rl.rs @@ -69,11 +69,11 @@ fn complete_key(_v: @CompletionCb) {} /// Bind to the main completion callback pub unsafe fn complete(cb: CompletionCb) { - task::local_data::local_data_set(complete_key, @(cb)); + local_data::local_data_set(complete_key, @(cb)); extern fn callback(line: *c_char, completions: *()) { unsafe { - let cb = *task::local_data::local_data_get(complete_key) + let cb = *local_data::local_data_get(complete_key) .get(); do cb(str::raw::from_c_str(line)) |suggestion| { diff --git a/src/libstd/sort.rs b/src/libstd/sort.rs index ae474e0c39463..fdc74be133544 100644 --- a/src/libstd/sort.rs +++ b/src/libstd/sort.rs @@ -1211,11 +1211,11 @@ mod big_tests { #[unsafe_destructor] impl<'self> Drop for LVal<'self> { fn finalize(&self) { - let x = unsafe { task::local_data::local_data_get(self.key) }; + let x = unsafe { local_data::local_data_get(self.key) }; match x { Some(@y) => { unsafe { - task::local_data::local_data_set(self.key, @(y+1)); + local_data::local_data_set(self.key, @(y+1)); } } _ => fail!(~"Expected key to work"), diff --git a/src/libstd/sort_stage0.rs b/src/libstd/sort_stage0.rs index 044c616dcd32c..2379e4617aae8 100644 --- a/src/libstd/sort_stage0.rs +++ b/src/libstd/sort_stage0.rs @@ -1202,11 +1202,11 @@ mod big_tests { #[unsafe_destructor] impl<'self> Drop for LVal<'self> { fn finalize(&self) { - let x = unsafe { task::local_data::local_data_get(self.key) }; + let x = unsafe { local_data::local_data_get(self.key) }; match x { Some(@y) => { unsafe { - task::local_data::local_data_set(self.key, @(y+1)); + local_data::local_data_set(self.key, @(y+1)); } } _ => fail!(~"Expected key to work"), diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index 5908d0c56f418..de59f2107cca2 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -74,7 +74,7 @@ impl Encodable for ident { fn encode(&self, s: &mut S) { unsafe { let intr = - match task::local_data::local_data_get(interner_key!()) { + match local_data::local_data_get(interner_key!()) { None => fail!(~"encode: TLS interner not set up"), Some(intr) => intr }; @@ -87,7 +87,7 @@ impl Encodable for ident { impl Decodable for ident { fn decode(d: &mut D) -> ident { let intr = match unsafe { - task::local_data::local_data_get(interner_key!()) + local_data::local_data_get(interner_key!()) } { None => fail!(~"decode: TLS interner not set up"), Some(intr) => intr diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs index 4483cc42361cc..43745bce1bf01 100644 --- a/src/libsyntax/parse/token.rs +++ b/src/libsyntax/parse/token.rs @@ -462,7 +462,7 @@ pub fn mk_fresh_ident_interner() -> @ident_interner { interner: interner::StrInterner::prefill(init_vec) }; unsafe { - task::local_data::local_data_set(interner_key!(), @rv); + local_data::local_data_set(interner_key!(), @rv); } rv } @@ -471,7 +471,7 @@ pub fn mk_fresh_ident_interner() -> @ident_interner { // fresh one. pub fn mk_ident_interner() -> @ident_interner { unsafe { - match task::local_data::local_data_get(interner_key!()) { + match local_data::local_data_get(interner_key!()) { Some(interner) => *interner, None => { mk_fresh_ident_interner() diff --git a/src/test/compile-fail/core-tls-store-pointer.rs b/src/test/compile-fail/core-tls-store-pointer.rs index 42cf9c793d118..fcb25069de6dd 100644 --- a/src/test/compile-fail/core-tls-store-pointer.rs +++ b/src/test/compile-fail/core-tls-store-pointer.rs @@ -10,7 +10,7 @@ // Testing that we can't store a borrowed pointer it task-local storage -use core::task::local_data::*; +use core::local_data::*; fn key(_x: @&int) { } @@ -18,4 +18,4 @@ fn main() { unsafe { local_data_set(key, @&0); //~ ERROR does not fulfill `'static` } -} \ No newline at end of file +}