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