--- a/rust/q_sequence/src/main.rs
+++ b/rust/q_sequence/src/main.rs
@@ -11,7 +11,7 @@
}
}
-fn q(mapping: &mut Arc<RwLock<HashMap<i32, Arc<RwLock<i32>>>>>, key: i32) -> i32 {
+fn q(mapping: Arc<RwLock<HashMap<i32, Arc<RwLock<i32>>>>>, 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));
}
Comments