--- a/rust/q_sequence/src/main.rs +++ b/rust/q_sequence/src/main.rs @@ -11,7 +11,7 @@ } } -fn q(mapping: &mut Arc>>>>, key: i32) -> i32 { +fn q(mapping: Arc>>>>, key: i32) -> i32 { println!("Running for {:?}", key); { match mapping.read().unwrap().get(&key) { @@ -33,9 +33,9 @@ println!("Inserted for {:?}", key); } { - let mut _mapping = mapping.clone(); + let _mapping = mapping.clone(); thread::spawn(move || { - q(&mut _mapping, key - 1); + q(_mapping, key - 1); }); } { @@ -53,7 +53,7 @@ let mut mapping = HashMap::new(); mapping.insert(1, Arc::new(RwLock::new(1))); mapping.insert(2, Arc::new(RwLock::new(1))); - let mut mapping = Arc::new(RwLock::new(mapping)); - println!("{:?}", q(&mut mapping, 10)); - println!("{:?}", q(&mut mapping, 10)); + let mapping = Arc::new(RwLock::new(mapping)); + println!("{:?}", q(mapping.clone(), 10)); + println!("{:?}", q(mapping.clone(), 10)); }