1 unstable release
0.1.0 | May 3, 2020 |
---|
#9 in #specifying
7KB
78 lines
closure-pass is a crate for passing arguments to a closure with capture feature of C++ lambdas.
Usage
So far, this crate requires two nightly features: stmt_expr_attributes
and proc_macro_hygiene
. Usage is pretty straightforward, the following code:
let a = /*..*/;
let b = /*..*/;
#[closure_pass(a, b = b.f()]
move || {
// ..
}
Will expand to something like:
let a = /*..*/;
let b = /*..*/;
{
let a = a.clone();
let b = b.f();
move || {
// ..
}
}
Dependencies
~1.5MB
~37K SLoC