Moving to modern languages in long-living projects
summary
Rewrites parts of a 12‑year‑old libvirt codebase into Rust as a proof‑of‑concept, picking an isolated module from a generated call graph and incrementally replacing C with Rust. Uses rust-bindgen (invoked from build.rs), cargo vendor for offline builds, c2rust/corrode for exploration, and minimal unsafe minimized wrappers with #[no_mangle] extern "C" interfaces. Tests validate FFI behavior; basic functions (file creation, string return) work, but allocator/panic hooks require nightly and more integration work remains.
AI-written summary · about
chapters (5)
- 0:00Start
- 2:46Should You Rewrite Your Project in any Language
- 6:13Data Integrity
- 7:16Ownership
- 18:33Validity of Ptr
related talks
41mWe can have nice things
01h 02mRewriting of a small component from C to Rust
28mC2Rust: Migrating Legacy Code to Rust
28mInterfacing Rust with Xen
31mUsing Rust from C... or Any Language
30mIntegrating Rust into Tor: Successes and Challenges
54mUnwrap()Ing Rust on Embedded Linux
45mBuilding Safe and Secure Systems in Rust
