Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Rust ABI profile — Shims and compatibility strategy

Platform spec article

Rust ABI profile — Shims and compatibility strategy

Spec standingProposed

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Status: Proposed — forward-looking strategy; not required for current toolchain conformance.

Any future Rust-native user interop would introduce thin shim symbols with stable C names that delegate to Rust extern "Rust" or crate-specific metadata. Interop.Contracts normalization would run before shim emission so that profiles remain composable.

The platform can evolve:

  1. Band A — only C-profile user Extern and stable runtime exports (today’s supported story).
  2. Band B — optional Rust-profile extensions gated by language version, manifest flags, or engine features, each documented with its own conformance tests.

Upgrades must preserve Band A artifacts unless accompanied by a major ABI version policy change documented under conformance and versioning.