% Внутренние средства (intrinsics)
Примечание: внутренние средства всегда будут иметь нестабильный интерфейс, рекомендуется использовать стабильные интерфейсы libcore, а не внутренние напрямую.
Они импортируются как если бы они были FFI функциями, со специальным rust- intrinsic
ABI. Например, если, находясь в отдельном (автономном) контексте,
хочется иметь возможность transmute
между типами, а также использовать
эффективную арифметику указателей, то можно импортировать эти функции через
объявление, такое как
#![feature(intrinsics)] fn main() {} extern "rust-intrinsic" { fn transmute<T, U>(x: T) -> U; fn offset<T>(dst: *const T, offset: isize) -> *const T; }
Как и с любыми другими FFI функциями, их вызов всегда небезопасен и помечен как
unsafe
.