Fine! I'll just make my own stable ABI!
February 09, 2024
32 min
Free
rust
stable-abi
ffi
dynamic-linking
enums
memory-layout
abi
plugins
data-modeling
compiler
serialization
performance
Description
Piotr Zalewski discusses the challenges and solutions related to Application Binary Interface (ABI) stability in Rust. The talk delves into the complexities of ABI, contrasting IPC plugins with dynamically linked plugins, and explaining how Rust's default ABI differs from C's. It highlights the inefficiencies of non-compact enums and the performance implications. The presentation introduces the 'stabby' crate as a solution for creating stable ABIs in Rust, enabling features like trait objects and compact types. Finally, it explores ongoing efforts and dreams for improving Rust's story around dynamic linkage and ABI stability.