Crate token_cell[][src]

Expand description

This library provides an alternative to ghost-cell which uses concrete types instead of lifetimes for branding.

This allows a more convenient usage, where cells and tokens can be constructed independently, with the same compile-time guarantees as ghost-cell. The trade-off for this arguably more convenient usage and arguably easier to understand branding method is that tokens, while zero-sized if made correctly, must be guaranteed to be constructable only if no other instance exists.

To this end, this crate provides the [generate_token] macro, which will create a ZST which can only be constructed using [TokenTrait::aquire], which is generated to guarantee no other token exists before returning the token. This is done by checking a static AtomicBool flag, which is the only runtime cost of these tokens.

Re-exports

pub use support::IdMismatch;
pub use support::RuntimeToken;
pub use support::TokenChecker;
pub use support::TokenTrait;

Modules

Macros

Generates any number of token types for use with token cells.

Structs

A cell which requires a token for interior read/write access.