with_exposed_provenance стал const — создание указателей в константах
16.08.2025Стабилизирована фича const_exposed_provenance: функции with_exposed_provenance и with_exposed_provenance_mut теперь работают в константном контексте.
Что это за функции
Обе функции создают «явное» происхождение указателя — способ сказать компилятору, что адрес получен из целого числа и его нельзя считать связанным с каким-либо выделением. Это нужно для работы с памятью, отображённой вручную: регистры устройств, регионы ввода-вывода, образы ядра.
В константном контексте это позволяет описывать такие адреса в const-структурах, что важно для кода, работающего с памятью без выделения. Отличие от without_provenance принципиально: with_exposed_provenance сохраняет гарантию, что указатель продолжит работать во время выполнения.
Стабилизация — Kivooeo, отслеживание — rust-lang/rust#144538.
Оригинал
Stabilize const_exposed_provenance feature
Упоминаний: 1 · Просмотров: 1