Fine! I'll just make my own stable ABI!

February 09, 2024 32 min Free

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.