Intrinsics

メモ: intrinsicsのインタフェースは常に不安定です、intrinsicsを直接利用するのではなく、 libcoreの安定なインタフェースを利用することを推奨します。

intrinsicsは特別なABI rust-intrinsic を用いて、FFIの関数で有るかのようにインポートされます。 例えば、独立したコンテキストの中で型の間の 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; }
#![feature(intrinsics)]

extern "rust-intrinsic" {
    fn transmute<T, U>(x: T) -> U;

    fn offset<T>(dst: *const T, offset: isize) -> *const T;
}

他のFFI関数と同様に、呼出は常に unsafe です。