#![allow(unused_variables)] fn main() { use std::sync::Arc; let mut data = Arc::new(5); *Arc::make_mut(&mut data) += 1; let mut other_data = Arc::clone(&data); *Arc::make_mut(&mut data) += 1; *Arc::make_mut(&mut data) += 1; *Arc::make_mut(&mut other_data) *= 2; assert_eq!(* data, 8); assert_eq!(* other_data, 12); }