1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// run-pass fn f(arg: &mut A) { arg.a = 100; } #[derive(Copy, Clone)] struct A { a: isize } pub fn main() { let mut x = A {a: 10}; f(&mut x); assert_eq!(x.a, 100); x.a = 20; let mut y = x; f(&mut y); assert_eq!(x.a, 20); }