#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::sync::{Arc, Mutex}; fn main() { let data = Arc::new(Mutex::new(vec![1, 2, 3])); let data_clone = data.clone(); { let mut lock = data.lock().unwrap(); lock.push(4); } assert_eq!(* data_clone.lock().unwrap(), vec![1, 2, 3, 4]); }