= Vec::new();
queue.push(start_element);
for elem in &mut queue {
elem.mutate();
queue.extend(elem.children());
}
Как это идиоматично выразить?
Можно в loop развернуть
Как? У меня всё равно .iter_mut() держит мутабельную ссылку и queue.extend() требует мутабельную ссылку
А с переаллокациями что?
Без итератора loop { let elem = queue.last_mut().unwrap(); elem.mutate() queue.extend(elem.children()); }
Обсуждают сегодня