Так 2 строчки выше ты делаешь ссылку на connections, а потом ещё и мутабельную ссылку
но ведь я эту ссылку передаю в функцию. Функция завершается и заимствования больше не должно быть. Разве нет?
Баг компилятора?))
да хрен знает, ща попробую воспроизвести)
Нет, это не баг компилятора, это правильное поведение, сейчас накидаю пример, который это демонстрирует
Давай, ибо что-то не могу понять, в чём дело было
Может из get_state убрать все времена? fn get_state<'a, 'b, 'c>(wire: & Wire<'a>, state: &mut HashMap<&Wire<'b>, u16>, connections: & [WireConnection<'c>]) -> u16
А так и сделал: fn get_state<'a>(wire: &Wire<'a>, state: &mut HashMap<Wire<'a>, u16>, connections: &[WireConnection<'a>]) -> u16 Твой вариант у меня бы не стал работать, по тому я решил что так уж и быть - скопирую Wire<'a> вместо ссылки
Обсуждают сегодня