state 0.2.2

A library for safe and effortless global and thread-local state management.
Documentation

State

A Rust library for safe and effortless global and thread-local state management.

extern crate state;

static GLOBAL: state::Storage<u32> = state::Storage::new();

GLOBAL.set(42);
assert_eq!(*GLOBAL.get(), 42);

See the documentation for more.

Usage

Include state in your Cargo.toml [dependencies]:

[dependencies]
state = "0.2"

Thread-local state management is not enabled by default. You can enable it via the tls feature:

[dependencies]
state = { version = "0.2", features = ["tls"] }

This crate requires Rust nightly due to the instability of the const_fn feature. Ensure the feature is enabled by adding the following to your top-level crate attributes:

#![feature(const_fn)]

License

State is licensed under either of the following, at your option: