/closure

A macro wrapping Rust closure calls that allows for capturing variables in scope on an individual bases.

Primary LanguageRustMIT LicenseMIT

closure! - A macro for individually capturing variables

Latest version Documentation License

This crate provides a macro which lets you write closures that can capture individually either by moving, referencing, mutably referencing of cloning.

Usage

Start by adding an entry to your Cargo.toml:

[dependencies]
closure = "0.3.0"

Then you can write closures like so:

use closure::closure;

let string = "move".to_string();
let x = 10;
let mut y = 20;
let rc = Rc::new(5);

let closure = closure!(move string, ref x, ref mut y, clone rc, |arg: i32| {
    ...
});