Improve the local_data docs slightly

Remove references to local_data::Key and only mention the macro for how to
construct new keys into local data.
This commit is contained in:
Alex Crichton
2013-09-12 23:26:06 -07:00
parent af259a651d
commit d0462f070c
+8 -7
View File
@@ -17,9 +17,10 @@
the TLS slot. Useful for dynamic variables, singletons, and interfacing with
foreign code with bad callback interfaces.
To use, declare a static variable of the type you wish to store. The
initialization should be `&local_data::Key`. This is then the key to what you
wish to store.
To declare a new key for storing local data of a particular type, use the
`local_data_key!` macro. This macro will expand to a `static` item apppriately
named and annotated. This name is then passed to the functions in this module to
modify/read the slot specified by the key.
~~~{.rust}
use std::local_data;
@@ -31,14 +32,14 @@
local_data::get(key_int, |opt| assert_eq!(opt, Some(&3)));
local_data::set(key_vector, ~[4]);
local_data::get(key_int, |opt| assert_eq!(opt, Some(&~[4])));
local_data::get(key_vector, |opt| assert_eq!(opt, Some(&~[4])));
~~~
Casting 'Arcane Sight' reveals an overwhelming aura of Transmutation
magic.
*/
// Casting 'Arcane Sight' reveals an overwhelming aura of Transmutation
// magic.
use cast;
use libc;
use prelude::*;