-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-fast
-#[legacy_modes];
-fn f(arg: A) {
+fn f(arg: &mut A) {
arg.a = 100;
}
-struct A { mut a: int }
+#[derive(Copy)]
+struct A { a: int }
-fn main() {
- let x = A {a: 10};
- f(x);
- assert x.a == 100;
+pub fn main() {
+ let mut x = A {a: 10};
+ f(&mut x);
+ assert_eq!(x.a, 100);
x.a = 20;
- f(copy x);
- assert x.a == 20;
+ let mut y = x;
+ f(&mut y);
+ assert_eq!(x.a, 20);
}