У владельца значения появился способ получить сырой указатель без промежуточной ссылки
14.06.2026У владельца значения в куче появились методы получения сырого указателя на содержимое. Раньше для этого требовалось приведение указателя к ссылке и обратно.
Какая была неудобная запись
Сырой указатель на содержимое получали так: взять ссылку на значение, привести её к сырому указателю, и этот указатель отдать. Три шага, и на каждом — обещание, что ссылка действительна.
В коде, который проверяется на отсутствие неопределённого поведения, такой обмен заметен: он создаёт ссылку, которую компилятор тут же забывает, и инструмент проверки может на этом поймать.
Что даёт
Прямой переход от владельца к указателю, без промежуточной ссылки. Смысл тот же — безопасно получить указатель на внутреннее значение, не создавая ссылку, — но без обмена, который инструменты проверки считают подозрительным.
Особенно заметно для владельцев срезов, где содержимое начинается не с начала выделения: вычисление указателя вручную легко перепутать со смещением.
Оригинал
stabilize #![feature(box_as_ptr)]
Упоминаний: 1 · Просмотров: 3