"The (Many) Mistakes I Made in rkyv"
summary
Archive (rkyv) is a zero-copy deserialization framework that historically had unstable on-disk layouts and an opt-in fix that still broke cross-target compatibility; after 45 patch releases the 0.8 release finally makes repr(C) always required and wraps primitives to force endianness, fixing tier-two ARM surprises like 8-aligned 128-bit ints. The build removes a problematic blanket impl (replacing it with derive code) so the compiler now reports the actual trait bound failures, and the project drops hard public release estimates.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 0:26About rkyv
- 1:43Important Announcement
- 2:29History of rkyv
- 4:10Overview
- 4:35unstable layouts
- 5:56stable layouts
- 8:15fix
- 9:22most unhelpful error
- 10:42trait selection
- 11:25blanket imple trap
- 12:35bad errors are worth a change
- 13:35unhealthy optimism
- 14:24estimates
- 16:28lesson learned
related talks
40mRust’s approach of getting things right
36mThe language that isn't
17mRust In Rhymes
01h 01mRanges v3 and microcontrollers, a revolution
46mKeynote: Rust is not about memory safety
01h 11mDuck-Tape Chronicles - Rust C++ Interop
30msub0 Asia 2024 - Mohammadreza Ashouri
31mA Rust Crate that also quacks like a modern C++ Library
