27 lines
443 B
Rust
27 lines
443 B
Rust
//@ run-pass
|
|
//@ needs-threads
|
|
|
|
use std::thread;
|
|
|
|
pub fn main() {
|
|
test05();
|
|
}
|
|
|
|
fn test05_start<F: FnOnce(isize)>(f: F) {
|
|
f(22);
|
|
}
|
|
|
|
fn test05() {
|
|
let three: Box<_> = Box::new(3);
|
|
let fn_to_send = move |n: isize| {
|
|
println!("{}", *three + n); // will copy x into the closure
|
|
assert_eq!(*three, 3);
|
|
};
|
|
thread::spawn(move || {
|
|
test05_start(fn_to_send);
|
|
})
|
|
.join()
|
|
.ok()
|
|
.unwrap();
|
|
}
|