guards = vec![]; let thread_numbers: Vec<i32> = (0..10).collect(); for i in 0..10 { let thread_num = Arc::new(thread_numbers[i]); guards.push(scoped(move || { let index = thread_num.clone(); println!(“Hello from thread #{}”, index); })); } for guard in guards.into_iter() { guard.join(); } }