//@ 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); }