| // run-pass | |
| // ignore-emscripten no threads support | |
| 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(); | |
| } |