Skip to content

A macro for declaring thread-local `static`s like using both of `lazy_static!` and `RefCell`

License

Notifications You must be signed in to change notification settings

Xeiron/ref_thread_local.rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ref_thread_local.rs

A macro for declaring thread-local statics like using both of lazy_static! and RefCell

Using this macro, you can have thread-local statics be referenced by borrow() function like using a RefCell.

You may also initialize or destroy a static variable at any time you like.

Travis-CI Status Latest version Documentation License

Minimum supported rustc

1.30.0+

Getting Started

ref_thread_local.rs is available on crates.io. It is recommended to look there for the newest released version, as well as links to the newest builds of the docs.

At the point of the last update of this README, the latest published version could be used like this:

Add the following dependency to your Cargo manifest...

[dependencies]
ref_thread_local = "0.0"

...and see the docs for how to use it.

Example

#[macro_use]
extern crate ref_thread_local;
use ref_thread_local::RefThreadLocal;

ref_thread_local! {
    static managed NUMBER: i32 = 233;
}

fn main() {
    let x = NUMBER.borrow(); // a Ref<'a, i32>
    println!("The number is {}.", x);
}

License

Licensed under of

About

A macro for declaring thread-local `static`s like using both of `lazy_static!` and `RefCell`

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages