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