Стабилизирован 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