about summary refs log tree commit diff
path: root/src/test/compile-fail/mutable-arguments.rs
blob: 4fcb73e8516c401998ae08e36f46e4de71b2785c (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: uint) {
    x = 0u;
}

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

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

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

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

fn main() {
}