Пример кода:
fn main() {
let a = [1, 2, 3, 4, 5];
reset(a);
}
fn reset(mut b: [u32; 5]) {
b[0] = 5;
}
Переменная a
является неизменяемым массивом, а параметр функции reset
b
является изменяемым массивом; Интуитивно мне нужно изменить a
в изменяемый массив, прежде чем я смогу вызвать метод reset
, но компилятор говорит мне, что мне не нужно это делать, почему это так?
fn main() {
let mut a = [1, 2, 3, 4, 5];
reset(a);
}
fn reset(mut b: [u32; 5]) {
b[0] = 5;
}
warning: variable does not need to be mutable
--> src/main.rs:2:9
|
2 | let mut a = [1, 2, 3, 4, 5];
| ----^
| |
| help: remove this `mut`
|
= note: #[warn(unused_mut)] on by default