Skip to content

Latest commit

 

History

History
32 lines (25 loc) · 980 Bytes

README.org

File metadata and controls

32 lines (25 loc) · 980 Bytes

A very simple macro that clones a list of variables before calling an expression

https://img.shields.io/crates/l/clone-block.svg https://img.shields.io/crates/v/clone-block.svg https://docs.rs/clone-block/badge.svg

Based on this tweet: https://twitter.com/untitaker/status/1299812136202493953

use clone_block::clone;
use std::thread;

let foo = "foo".to_string();

let thread = thread::spawn(
    clone!(foo; move || {
        let foobar = format!("{}bar", foo);
        foobar
    })
);

let foobar = thread.join();
let foobaz = format!("{}baz", foo);

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.