Por que o operador binário + não funciona com dois & mut int?
fn increment(number: &mut int) {
// this fails with: binary operation `+` cannot be applied to type `&mut int`
//let foo = number + number;
let foo = number.add(number);
println!("{}", foo);
}
fn main() {
let mut test = 5;
increment(&mut test);
println!("{}", test);
}
Porquenumber + number
falhar, masnumber.add(number)
trabalho?
Como uma pergunta de bônus: O texto acima é impresso
10
5
Estou certo em assumir quetest
ainda é 5 porque os dados sãocopiado para aumentar? A única maneira que o originaltest
variável pode ser mutada peloincrement
função seria se fosse enviado comoBox<int>
, direito?