Skip to content
Beskid The Beskid Book

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

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 extern target 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.

Export and callbacks

21. FFI