The ability to interoperate with C code via FFI is not limited to crates using std; this allows using these types without std. The existing types in `std::os::raw` become type aliases for the ones in `core::ffi`. This uses type aliases rather than re-exports, to allow the std types to remain stable while the core types are unstable. This also moves the currently unstable `NonZero_` variants and `c_size_t`/`c_ssize_t`/`c_ptrdiff_t` types to `core::ffi`, while leaving them unstable.
423 B
423 B
Equivalent to C's signed long long (long long) type.
This type will almost always be [i64], but may differ on some systems. The C standard technically only requires that this type be a signed integer that is at least 64 bits and at least the size of a long, although in practice, no system would have a long long that is not an i64, as most systems do not have a standardised [i128] type.