exclusive

Crates.ioexclusive
lib.rsexclusive
version0.1.0
sourcesrc
created_at2019-05-04 13:31:54.788199
updated_at2019-05-04 13:31:54.788199
descriptionPlace code into an exclusive context that won't collide with another context.
homepagehttps://github.com/nvzqz/exclusive-rs
repositoryhttps://github.com/nvzqz/exclusive-rs
max_upload_size
id131998
size21,066
Nikolai Vazquez (nvzqz)

documentation

https://docs.rs/exclusive

README

Exclusive

travis build status crates.io downloads API docs rustc ^1.30.0

A procedural macro for wrapping code in a collision-free context.

Installation

This crate is available on crates.io and can be used by adding the following to your project's Cargo.toml:

[dependencies]
exclusive = "0.1.0"

and this to your crate root (main.rs or lib.rs):

#[macro_use]
extern crate exclusive;

Usage

The exclusive! macro allows for placing blocks of code in a context that won't collide with other calls to the macro in the same namespace:

exclusive! {
    let x = 20;
    let y = 30;
}

exclusive! {
    // This code doesn't actually run
    println!("Hello, world!");
}

Purpose

This project was made to be used by static_assertions to prevent different assertions from colliding with the same identifier.

Changes

See CHANGELOG.md for a complete list of what has changed from one version to another.

License

This project is released under either:

at your choosing.

Commit count: 6

cargo fmt