Стабилизирован Vec::try_remove — удаление элемента с возвратом Option
29.09.2026Метод Vec::try_remove теперь стабилен. Он удаляет элемент по индексу и возвращает Option<T>: None, если индекса нет. Раньше для этого приходилось вручную проверять границы и вызывать remove.
Смысл
Соблазн воспользоваться remove по индексу в коде на границе небезопасен: если индекс посчитан неверно, метод запаникует. try_remove переводит такую ошибку в обычное значение None, что позволяет обработать её на уровне типов, а не паники.
Обратите внимание: try_remove не меняет порядок оставшихся элементов, как и remove, — он сдвигает хвост, как Vec::remove. Если нужен Option::take с сохранением порядка, это другой метод.
Автор стабилизации — petrak-at-canonical (Canonical).
Оригинал
Stabilize vec_try_remove
Упоминаний: 1 · Просмотров: 4