Loading video player...
*A Deep Dive into Serde-Driven Reflection - Ohad Ravid at EuroRust 2025* Do you know what code is generated when you use #[derive(Deserialize)]? And what that has to do with API design, reflection, and ergonomics? In this talk, we’ll explore a way to use the Serde (de)serialization crate to build an API that would otherwise be painful to use in a statically typed language like Rust. We’ll dive into Serde’s internals from two angles: the struct being deserialized, and the deserializer driving the process - and how they are connected by Serde’s unique trait architecture. We’ll finish by writing our own deserializer, enabling a form of compile-time reflection and allowing us to materialize user-defined structs without a custom trait or a complex procedural macro. *About Ohad Ravid* Software Engineer at Wiz I love building stuff, sushi and tea. I’ve been working in software for more than 15 years, in a lot of different areas (networking, backend, big data, frontend, embedded) and in a variety of languages (C, Python, TypeScript, Rust). -------------------- *EuroRust 2026* – Get your ticket for EuroRust 2026 now and join us in Barcelona! 👉 https://eurorust.eu EuroRust is organized by Mainmatter, experts in Rust and distributed systems 👉 https://mainmatter.com/rust/