Стабилизированы методы «вставить и получить ссылку на добавленное»

29.01.2026

У вектора, очереди на обоих концах и связного списка появились методы, которые вставляют элемент и сразу дают изменяемую ссылку на него. Методы стабилизированы.

Какой приём они заменяют

Обычная вставка сообщает новый индекс. Чтобы изменить только что вставленное, нужно взять этот индекс и взять по нему ссылку. Индекс всегда в границах — это гарантирует сам вектор — но проверка границ при обращении остаётся.

В коде, который работает с большими коллекциями, такие проверки заметны. В коде, который гоняется под инструментом поиска неопределённого поведения, безусловный доступ по индексу выглядит подозрительно: инструмент не видит, что границы проверены, и сообщает о подозрительном преобразовании указателя.

Что даёт метод

Ссылка получается напрямую из операции вставки, без индекса и без проверки. Соответственно, в инструменте нет ничего подозрительного — операция объявлена так, чтобы получить ссылку.

Оригинал

Stabilizes feature(push_mut), consisting of Vec::push_mut, Vec::insert_mut, VecDeque::push_front_mut, VecDeque::push_back_mut, VecDeque::insert_mut, LinkedList::push_front_mut, and LinkedList::push_back_mut.

Упоминаний: 1 · Просмотров: 4