Re: мутабельные слайсы и borrow checker
От: ArtDenis Россия  
Дата: 16.02.23 10:39
Оценка:
Здравствуйте, sergii.p, Вы писали:

SP>споткнулся на такой забавный момент. Пока не понимаю причины

SP>...
SP>Мне казалось что первый код должен автоматом переходить во второй. Но получается диапазоны вносят какие-то модификации в этот алгоритм.

Если в коде
fn main() {
    let mut nums = [1, 2, 3, 4, 5, 6, 7];
    let some_bad_ref = &mut nums[0..nums.len() - 1];
}


"рассахарить" последнюю строку, то получится

...
let some_bad_ref = std::ops::IndexMut::index_mut(&mut nums, 0..nums.len()-1);


Первый аргумент (&mut nums) функции IndexMut::index_mut уникально заимствует nums, поэтому во второй аргумент nums уже передать нельзя
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Отредактировано 16.02.2023 10:43 ArtDenis . Предыдущая версия . Еще …
Отредактировано 16.02.2023 10:41 ArtDenis . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.