use std::ops::AddAssign; | |
#[derive(Clone)] | |
struct Int(i32); | |
impl AddAssign for Int { | |
fn add_assign(&mut self, _: Int) { | |
unimplemented!() | |
} | |
} | |
fn main() { | |
let mut x = Int(1); //~ NOTE binding `x` declared here | |
x | |
//~^ NOTE borrow of `x` occurs here | |
+= | |
x; | |
//~^ ERROR cannot move out of `x` because it is borrowed | |
//~| move out of `x` occurs here | |
let y = Int(2); | |
//~^ HELP consider changing this to be mutable | |
//~| SUGGESTION mut | |
y //~ ERROR cannot borrow `y` as mutable, as it is not declared as mutable | |
//~| cannot borrow as mutable | |
+= | |
Int(1); | |
} |