Внутренние средства (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
.