diff --git a/src/main.rs b/src/main.rs index f39d4e8..4798366 100644 --- a/src/main.rs +++ b/src/main.rs @@ -38,13 +38,14 @@ fn main() { let mut p = pattern.write().unwrap(); *p = res.unwrap(); } - let lock_c = Arc::clone(&lock); loop { thread::sleep(time::Duration::from_millis(250)); + + let lock_c = Arc::clone(&lock); let pattern_c = Arc::clone(&pattern); - let v = pattern_c.read().expect("could not read pattern"); + let v: Vec> = *(pattern_c.read().expect("could not read pattern")); let mut lights = lock_c.write().unwrap(); - (*v).iter().for_each(move |x| { + v.iter().for_each(move |x| { x.execute(&mut lights); }); }