struct S { v: i32 } fn main() { let v = std::cell::RefCell::new(S{v:666}); let s = std::rc::Rc::new(v); let r1 = s.clone(); let r2 = s.clone(); println!("{} {}", (*r1.borrow()).v, (*r2.borrow()).v); s.borrow_mut().v = 0; println!("{} {}", (*r1.borrow()).v, (*r2.borrow()).v) }