summaryrefslogtreecommitdiffstats
path: root/src/test/ui/expr-copy.rs
blob: 1c6ae03810f08c410f8b846b1fdd268916969a6f (plain)
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);
}