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:

toml [dependencies] exclusive = "0.1.0"

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

```rust

[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:

```rust 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.