An approximation of "capture-by-clone" lambdas in Rust.
Requires nightly and #![feature(proc_macro_hygiene, stmt_expr_attributes)]
Turns this:
#[clown] || do_call(honk!(foo.bar), slip!(baz.bop))
into this:
{
let __honk_0 = (foo.bar).clone();
let __slip_0 = baz.bop;
move || do_call(__honk_0, __slip_0)
}