Как бы вы мутировали вектор таким образом, чтобы вам понадобилась неизменяемая ссылка на указанный вектор, чтобы определить, как вам нужно будет мутировать вектор? Например, у меня есть кусок кода, который выглядит примерно так, и я хочу, чтобы дублировать последний элемент вектора:Идиоматически доступ к элементу вектора изменчиво и неизменно
let mut vec: Vec<usize> = vec![123, 42, 10];
// Doesn't work of course:
vec.push(*vec.last().unwrap())
// Works, but is this necessary?
let x = *vec.last().unwrap();
vec.push(x);
Так что, помимо копирования, нет никакого безопасного способа сделать это? – lochnesscookie
О, хорошо, спасибо за разъяснение! – lochnesscookie