21.4 Rust ABI profile
Runtime-facing Rust ABI—not arbitrary crate imports.
Rust ABI profile
Rust ABI profile documents the language-owned runtime’s boundary stability, runtime manifest, and ABI v4 kernel and dispatch model. The runtime exposes stable C-compatible entrypoints to loaders; Rust-specific choices stay inside its crate boundary.
Caution: This is a runtime-only profile, not a Rust-native application FFI. A user-authored
externtarget must stay on the C ABI profile. When that target is implemented in Rust, provide a C-compatible shim rather than linking the Rust crate through this profile.
Treat the profile as an integration contract
Section titled “Treat the profile as an integration contract”Read the profile when changing runtime integration. It defines the supported runtime surface; ordinary Rust crate APIs are not part of a user extern surface. For application interop, design the C contract and shim first. When runtime work directs you to registration or dispatch details, follow those links rather than relying on private symbols.