about summary refs log tree commit diff
path: root/tests/ui/typeck/assign-non-lval-mut-ref.rs
blob: d2f1253eb0ccdc4aaf2bd5a6f2a3b8f100830faf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//@ run-rustfix

fn main() {
    let mut x = vec![1usize];
    x.last_mut().unwrap() = 2;
    //~^ ERROR invalid left-hand side of assignment
    x.last_mut().unwrap() += 1;
    //~^ ERROR binary assignment operation `+=` cannot be applied to type `&mut usize`

    let y = x.last_mut().unwrap();
    y = 2;
    //~^ ERROR mismatched types
    y += 1;
    //~^ ERROR binary assignment operation `+=` cannot be applied to type `&mut usize`
}