summary refs log tree commit diff
path: root/src/test/compile-fail/mutable-arguments.rs
blob: d84c9401e2577104bf8b2310d32cba437912b4d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Note: it would be nice to give fewer warnings in these cases.

fn mutate_by_mut_ref(x: &mut uint) {
    *x = 0;
}

fn mutate_by_ref(&&x: uint) {
    //~^ WARNING unused variable: `x`
    x = 0; //~ ERROR assigning to argument
}

fn mutate_by_val(++x: uint) {
    //~^ WARNING unused variable: `x`
    x = 0; //~ ERROR assigning to argument
}

fn mutate_by_copy(+x: uint) {
    //~^ WARNING unused variable: `x`
    x = 0; //~ ERROR assigning to argument
    //~^ WARNING value assigned to `x` is never read
}

fn mutate_by_move(-x: uint) {
    //~^ WARNING unused variable: `x`
    x = 0; //~ ERROR assigning to argument
    //~^ WARNING value assigned to `x` is never read
}

fn main() {
}