Стабилизирован Box::take — заменить значение в Box без переаллокации

23.09.2026

Метод Box::take теперь стабилен. Он работает как Option::take, но для Box: освобождает ячейку, подставляет новое значение и возвращает старое — без нового выделения памяти.

Зачем

Смысл тот же, что у Option::take в коллекциях: забрать значение из слота и записать на его место заглушку, не трогая саму структуру. Для Box это особенно удобно в рекурсивных структурах и в местах, где нужно разорвать владение на время, не меняя раскладку памяти.

Отслеживающий issue — rust-lang/rust#147212; автор — edwloef.

Оригинал

stabilize Box::take

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