vec![]).into_iter());
Второй случай ведь не сделает ничего, так как пустой вектор не аллоцирует, а extend (судя по внутрянке extend_desugared) при итерировании сразу получит None и тоже ничего не сделает, соответственно, второй вариант +- бесплатная и более короткая альтернатива первого, так?
а зачем .into_iter()? и вместо unwrap_or_else(|| vec![]) можно unwrap_or_default()
.into_iter(), потому что я хочу явно поглотить вектор и больше его не использовать далее по коду. За unwrap_or_default() спасибо ^_^
extend сам его вызовет
в общем extend принимает тип, реализующий IntoIterator, так что можно смело туда класть Vec<_>, он будет как надо скушан
Да, я просмотрел вызов .into_iter(), спасибо
Обсуждают сегодня