Стабилизирована mem::conjure_zst — создание ZST из имени типа без значения

26.09.2026

Функция unsafe fn conjure_zst::<T>() -> T теперь стабильна. Она создаёт значение типа T без единого байта, пригодное для целей, где нужно «занять» тип в памяти.

Поведение

Если тип T действительно является ZST, вызов проходит без затрат. Если нет — функция паникует. Причём поведение зависит от контекста вызова: внутри consteval паника происходит на этапе компиляции и с фиксированным текстом сообщения, а во время выполнения — с сообщением, в которое подставляется type_name типа.

Функция помечена unsafe и const. Отслеживающий issue — rust-lang/rust#95383; автор — theemathas.

Оригинал

Stabilize mem::conjure_zst

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